-rw-r--r-- | core/apps/helpbrowser/helpbrowser.cpp | 103 | ||||
-rw-r--r-- | core/apps/taboapp/main.cpp | 48 | ||||
-rw-r--r-- | core/apps/textedit/filePermissions.cpp | 2 | ||||
-rw-r--r-- | core/apps/textedit/textedit.cpp | 83 |
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> |
30 | using 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 | |||
38 | HelpBrowser::HelpBrowser( QWidget* parent, const char *name, WFlags f ) | 39 | HelpBrowser::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 | ||
47 | void HelpBrowser::init( const QString& _home ) | 48 | void 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 | ||
118 | void HelpBrowser::appMessage(const QCString& msg, const QByteArray& data) | 119 | void 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 | ||
135 | void HelpBrowser::setDocument( const QString &doc ) | 136 | void 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 | ||
143 | void HelpBrowser::textChanged() | 144 | void 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 | ||
153 | HelpBrowser::~HelpBrowser() | 154 | HelpBrowser::~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 | ||
168 | void HelpBrowser::pathSelected( const QString &_path ) | 169 | void HelpBrowser::pathSelected( const QString &_path ) |
169 | { | 170 | { |
170 | browser->setSource( _path ); | 171 | browser->setSource( _path ); |
171 | } | 172 | } |
172 | 173 | ||
173 | void HelpBrowser::readBookmarks() | 174 | void 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 | ||
198 | void HelpBrowser::bookmChosen( int i ) | 199 | void 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 | ||
204 | void HelpBrowser::addBookmark() | 205 | void 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 | ||
218 | void HelpBrowser::removeBookmark() | 219 | void 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> | ||
8 | using namespace Opie::Core; | ||
9 | using namespace Opie::Ui; | ||
10 | |||
11 | /* QT */ | ||
12 | #include <qdir.h> | ||
9 | 13 | ||
10 | int main( int argc, char **argv ) | 14 | int 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 | |||
@@ -1,83 +1,83 @@ | |||
1 | /**************************************************************************** | 1 | /**************************************************************************** |
2 | ** copyright 2002 ljp ljp@llornkcor.com | 2 | ** copyright 2002 ljp ljp@llornkcor.com |
3 | ** Created: Sat Feb 23 19:44:40 2002 L.J. Potter | 3 | ** Created: Sat Feb 23 19:44:40 2002 L.J. Potter |
4 | ** | 4 | ** |
5 | ** This file may be distributed and/or modified under the terms of the | 5 | ** This file may be distributed and/or modified under the terms of the |
6 | ** GNU General Public License version 2 as published by the Free Software | 6 | ** GNU General Public License version 2 as published by the Free Software |
7 | ** Foundation and appearing in the file LICENSE.GPL included in the | 7 | ** Foundation and appearing in the file LICENSE.GPL included in the |
8 | ** packaging of this file. | 8 | ** packaging of this file. |
9 | ** | 9 | ** |
10 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 10 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
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 | ||
30 | filePermissions::filePermissions( QWidget* parent, const char* name, bool modal, WFlags fl, const QString &fileName ) | 30 | filePermissions::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 | ||
60 | CheckBox1 = new QCheckBox( this, "CheckBox1" ); | 60 | CheckBox1 = new QCheckBox( this, "CheckBox1" ); |
61 | CheckBox1->setGeometry( QRect( 75, 85, 20, 16 ) ); | 61 | CheckBox1->setGeometry( QRect( 75, 85, 20, 16 ) ); |
62 | connect(CheckBox1, SIGNAL(released()),this,SLOT(ownReadCheck())); | 62 | connect(CheckBox1, SIGNAL(released()),this,SLOT(ownReadCheck())); |
63 | 63 | ||
64 | CheckBox1_2 = new QCheckBox( this, "CheckBox1_2" ); | 64 | CheckBox1_2 = new QCheckBox( this, "CheckBox1_2" ); |
65 | CheckBox1_2->setGeometry( QRect( 135, 85, 20, 16 ) ); | 65 | CheckBox1_2->setGeometry( QRect( 135, 85, 20, 16 ) ); |
66 | connect(CheckBox1_2, SIGNAL(released()),this,SLOT(ownWriteCheck())); | 66 | connect(CheckBox1_2, SIGNAL(released()),this,SLOT(ownWriteCheck())); |
67 | 67 | ||
68 | CheckBox1_3 = new QCheckBox( this, "CheckBox1_3" ); | 68 | CheckBox1_3 = new QCheckBox( this, "CheckBox1_3" ); |
69 | CheckBox1_3->setGeometry( QRect( 195, 85, 20, 16 ) ); | 69 | CheckBox1_3->setGeometry( QRect( 195, 85, 20, 16 ) ); |
70 | connect(CheckBox1_3, SIGNAL(released()),this,SLOT(ownExeCheck())); | 70 | connect(CheckBox1_3, SIGNAL(released()),this,SLOT(ownExeCheck())); |
71 | 71 | ||
72 | CheckBox1_4 = new QCheckBox( this, "CheckBox1_4" ); | 72 | CheckBox1_4 = new QCheckBox( this, "CheckBox1_4" ); |
73 | CheckBox1_4->setGeometry( QRect( 75, 105, 20, 16 ) ); | 73 | CheckBox1_4->setGeometry( QRect( 75, 105, 20, 16 ) ); |
74 | connect(CheckBox1_4, SIGNAL(released()),this,SLOT(grpReadCheck())); | 74 | connect(CheckBox1_4, SIGNAL(released()),this,SLOT(grpReadCheck())); |
75 | 75 | ||
76 | CheckBox1_5 = new QCheckBox( this, "CheckBox1_5" ); | 76 | CheckBox1_5 = new QCheckBox( this, "CheckBox1_5" ); |
77 | CheckBox1_5->setGeometry( QRect( 135, 105, 20, 16 ) ); | 77 | CheckBox1_5->setGeometry( QRect( 135, 105, 20, 16 ) ); |
78 | connect(CheckBox1_5, SIGNAL(released()),this,SLOT(grpWriteCheck())); | 78 | connect(CheckBox1_5, SIGNAL(released()),this,SLOT(grpWriteCheck())); |
79 | 79 | ||
80 | CheckBox1_6 = new QCheckBox( this, "CheckBox1_6" ); | 80 | CheckBox1_6 = new QCheckBox( this, "CheckBox1_6" ); |
81 | CheckBox1_6->setGeometry( QRect( 195, 105, 20, 16 ) ); | 81 | CheckBox1_6->setGeometry( QRect( 195, 105, 20, 16 ) ); |
82 | connect(CheckBox1_6, SIGNAL(released()),this,SLOT(grpExeCheck())); | 82 | connect(CheckBox1_6, SIGNAL(released()),this,SLOT(grpExeCheck())); |
83 | 83 | ||
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,91 +1,94 @@ | |||
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> |
26 | using namespace Opie::Core; | ||
27 | using 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 | ||
40 | using namespace Opie::Ui; | ||
41 | |||
42 | #if QT_VERSION < 300 | 46 | #if QT_VERSION < 300 |
43 | |||
44 | class QpeEditor : public QMultiLineEdit | 47 | class QpeEditor : public QMultiLineEdit |
45 | { | 48 | { |
46 | 49 | ||
47 | public: | 50 | public: |
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 ); |
56 | protected: | 59 | protected: |
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 | /* |
64 | signals: | 67 | signals: |
65 | void notFound(); | 68 | void notFound(); |
66 | void searchWrapped(); | 69 | void searchWrapped(); |
67 | */ | 70 | */ |
68 | 71 | ||
69 | private: | 72 | private: |
70 | 73 | ||
71 | }; | 74 | }; |
72 | 75 | ||
73 | void QpeEditor::mousePressEvent( QMouseEvent *e ) { | 76 | void QpeEditor::mousePressEvent( QMouseEvent *e ) { |
74 | switch(e->button()) { | 77 | switch(e->button()) { |
75 | case RightButton: | 78 | case RightButton: |
76 | { //rediculous workaround for qt popup menu | 79 | { //rediculous workaround for qt popup menu |
77 | //and the hold right click mechanism | 80 | //and the hold right click mechanism |
78 | this->setSelection( line1, col1, line2, col2); | 81 | this->setSelection( line1, col1, line2, col2); |
79 | QMultiLineEdit::mousePressEvent( e ); | 82 | QMultiLineEdit::mousePressEvent( e ); |
80 | markIt = false; | 83 | markIt = false; |
81 | } | 84 | } |
82 | break; | 85 | break; |
83 | default: | 86 | default: |
84 | { | 87 | { |
85 | if(!markIt) { | 88 | if(!markIt) { |
86 | int line, col; | 89 | int line, col; |
87 | this->getCursorPosition(&line, &col); | 90 | this->getCursorPosition(&line, &col); |
88 | line1=line2=line; | 91 | line1=line2=line; |
89 | col1=col2=col; | 92 | col1=col2=col; |
90 | } | 93 | } |
91 | QMultiLineEdit::mousePressEvent( e ); | 94 | QMultiLineEdit::mousePressEvent( e ); |
@@ -366,97 +369,97 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f ) | |||
366 | defaultFont = QFont ( family, size, weight, italic ); | 369 | defaultFont = QFont ( family, size, weight, italic ); |
367 | editor-> setFont ( defaultFont ); | 370 | editor-> setFont ( defaultFont ); |
368 | // updateCaption(); | 371 | // updateCaption(); |
369 | 372 | ||
370 | cfg.setGroup ( "View" ); | 373 | cfg.setGroup ( "View" ); |
371 | 374 | ||
372 | promptExit = cfg.readBoolEntry ( "PromptExit", false ); | 375 | promptExit = cfg.readBoolEntry ( "PromptExit", false ); |
373 | openDesktop = cfg.readBoolEntry ( "OpenDesktop", true ); | 376 | openDesktop = cfg.readBoolEntry ( "OpenDesktop", true ); |
374 | filePerms = cfg.readBoolEntry ( "FilePermissions", false ); | 377 | filePerms = cfg.readBoolEntry ( "FilePermissions", false ); |
375 | useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); | 378 | useSearchBar = cfg.readBoolEntry ( "SearchBar", false ); |
376 | startWithNew = cfg.readBoolEntry ( "startNew", true); | 379 | startWithNew = cfg.readBoolEntry ( "startNew", true); |
377 | featureAutoSave = cfg.readBoolEntry( "autosave", false); | 380 | featureAutoSave = cfg.readBoolEntry( "autosave", false); |
378 | 381 | ||
379 | if(useSearchBar) searchBarAction->setOn(true); | 382 | if(useSearchBar) searchBarAction->setOn(true); |
380 | if(promptExit) nAdvanced->setOn( true ); | 383 | if(promptExit) nAdvanced->setOn( true ); |
381 | if(openDesktop) desktopAction->setOn( true ); | 384 | if(openDesktop) desktopAction->setOn( true ); |
382 | if(filePerms) filePermAction->setOn( true ); | 385 | if(filePerms) filePermAction->setOn( true ); |
383 | if(startWithNew) nStart->setOn( true ); | 386 | if(startWithNew) nStart->setOn( true ); |
384 | if(featureAutoSave) nAutoSave->setOn(true); | 387 | if(featureAutoSave) nAutoSave->setOn(true); |
385 | 388 | ||
386 | // { | 389 | // { |
387 | // doTimer(true); | 390 | // doTimer(true); |
388 | // } | 391 | // } |
389 | 392 | ||
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 | ||
413 | TextEdit::~TextEdit() { | 416 | TextEdit::~TextEdit() { |
414 | qWarning("textedit d'tor"); | 417 | owarn << "textedit d'tor" << oendl; |
415 | delete editor; | 418 | delete editor; |
416 | } | 419 | } |
417 | 420 | ||
418 | void TextEdit::closeEvent(QCloseEvent *) { | 421 | void 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 | }; |
439 | } | 442 | } |
440 | else | 443 | else |
441 | qApp->quit(); | 444 | qApp->quit(); |
442 | 445 | ||
443 | } | 446 | } |
444 | 447 | ||
445 | void TextEdit::cleanUp() { | 448 | void TextEdit::cleanUp() { |
446 | 449 | ||
447 | Config cfg ( "TextEdit" ); | 450 | Config cfg ( "TextEdit" ); |
448 | cfg. setGroup ( "Font" ); | 451 | cfg. setGroup ( "Font" ); |
449 | QFont f = editor->font(); | 452 | QFont f = editor->font(); |
450 | cfg.writeEntry ( "Family", f. family ( )); | 453 | cfg.writeEntry ( "Family", f. family ( )); |
451 | cfg.writeEntry ( "Size", f. pointSize ( )); | 454 | cfg.writeEntry ( "Size", f. pointSize ( )); |
452 | cfg.writeEntry ( "Weight", f. weight ( )); | 455 | cfg.writeEntry ( "Weight", f. weight ( )); |
453 | cfg.writeEntry ( "Italic", f. italic ( )); | 456 | cfg.writeEntry ( "Italic", f. italic ( )); |
454 | 457 | ||
455 | cfg.setGroup ( "View" ); | 458 | cfg.setGroup ( "View" ); |
456 | cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); | 459 | cfg.writeEntry ( "Wrap", editor->wordWrap() == QMultiLineEdit::WidgetWidth ); |
457 | cfg.writeEntry ( "FileView", viewSelection ); | 460 | cfg.writeEntry ( "FileView", viewSelection ); |
458 | 461 | ||
459 | cfg.writeEntry ( "PromptExit", promptExit ); | 462 | cfg.writeEntry ( "PromptExit", promptExit ); |
460 | cfg.writeEntry ( "OpenDesktop", openDesktop ); | 463 | cfg.writeEntry ( "OpenDesktop", openDesktop ); |
461 | cfg.writeEntry ( "FilePermissions", filePerms ); | 464 | cfg.writeEntry ( "FilePermissions", filePerms ); |
462 | cfg.writeEntry ( "SearchBar", useSearchBar ); | 465 | cfg.writeEntry ( "SearchBar", useSearchBar ); |
@@ -601,595 +604,595 @@ void TextEdit::fileRevert() { | |||
601 | clear(); | 604 | clear(); |
602 | fileOpen(); | 605 | fileOpen(); |
603 | } | 606 | } |
604 | 607 | ||
605 | void TextEdit::editCut() { | 608 | void TextEdit::editCut() { |
606 | #ifndef QT_NO_CLIPBOARD | 609 | #ifndef QT_NO_CLIPBOARD |
607 | editor->cut(); | 610 | editor->cut(); |
608 | #endif | 611 | #endif |
609 | } | 612 | } |
610 | 613 | ||
611 | void TextEdit::editCopy() { | 614 | void TextEdit::editCopy() { |
612 | #ifndef QT_NO_CLIPBOARD | 615 | #ifndef QT_NO_CLIPBOARD |
613 | editor->copy(); | 616 | editor->copy(); |
614 | #endif | 617 | #endif |
615 | } | 618 | } |
616 | 619 | ||
617 | void TextEdit::editPaste() { | 620 | void TextEdit::editPaste() { |
618 | #ifndef QT_NO_CLIPBOARD | 621 | #ifndef QT_NO_CLIPBOARD |
619 | editor->paste(); | 622 | editor->paste(); |
620 | #endif | 623 | #endif |
621 | } | 624 | } |
622 | 625 | ||
623 | void TextEdit::editFind() { | 626 | void TextEdit::editFind() { |
624 | searchBar->show(); | 627 | searchBar->show(); |
625 | searchEdit->setFocus(); | 628 | searchEdit->setFocus(); |
626 | } | 629 | } |
627 | 630 | ||
628 | void TextEdit::findNext() { | 631 | void TextEdit::findNext() { |
629 | editor->find( searchEdit->text(), false, false ); | 632 | editor->find( searchEdit->text(), false, false ); |
630 | 633 | ||
631 | } | 634 | } |
632 | 635 | ||
633 | void TextEdit::findClose() { | 636 | void TextEdit::findClose() { |
634 | searchBar->hide(); | 637 | searchBar->hide(); |
635 | } | 638 | } |
636 | 639 | ||
637 | void TextEdit::search() { | 640 | void TextEdit::search() { |
638 | editor->find( searchEdit->text(), false, false ); | 641 | editor->find( searchEdit->text(), false, false ); |
639 | } | 642 | } |
640 | 643 | ||
641 | void TextEdit::newFile( const DocLnk &f ) { | 644 | void 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 | ||
654 | void TextEdit::openDotFile( const QString &f ) { | 657 | void 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 | ||
676 | void TextEdit::openFile( const QString &f ) { | 679 | void 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 | ||
735 | void TextEdit::openFile( const DocLnk &f ) { | 738 | void 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 | ||
760 | void TextEdit::showEditTools() { | 763 | void 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 */ |
772 | bool TextEdit::save() { | 775 | bool 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 */ |
831 | bool TextEdit::saveAs() { | 834 | bool 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 | ||
948 | void TextEdit::clear() { | 951 | void TextEdit::clear() { |
949 | delete doc; | 952 | delete doc; |
950 | doc = 0; | 953 | doc = 0; |
951 | editor->clear(); | 954 | editor->clear(); |
952 | } | 955 | } |
953 | 956 | ||
954 | void TextEdit::updateCaption( const QString &name ) { | 957 | void 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 | ||
972 | void TextEdit::setDocument(const QString& fileref) { | 975 | void 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 | ||
995 | void TextEdit::changeFont() { | 998 | void 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 | ||
1007 | } | 1010 | } |
1008 | 1011 | ||
1009 | void TextEdit::editDelete() { | 1012 | void TextEdit::editDelete() { |
1010 | switch ( QMessageBox::warning(this,tr("Text Editor"), | 1013 | switch ( QMessageBox::warning(this,tr("Text Editor"), |
1011 | tr("Do you really want<BR>to <B>delete</B> " | 1014 | tr("Do you really want<BR>to <B>delete</B> " |
1012 | "the current file\nfrom the disk?<BR>This is " | 1015 | "the current file\nfrom the disk?<BR>This is " |
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 | ||
1028 | void TextEdit::changeStartConfig( bool b ) { | 1031 | void 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 | ||
1036 | void TextEdit::editorChanged() { | 1039 | void 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 | ||
1045 | void TextEdit::receive(const QCString&msg, const QByteArray &) { | 1048 | void 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 | ||
1054 | void TextEdit::doAbout() { | 1057 | void 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 | ||
1061 | void TextEdit::doPrompt(bool b) { | 1064 | void 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 | ||
1068 | void TextEdit::doDesktop(bool b) { | 1071 | void 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); |
1073 | } | 1076 | } |
1074 | 1077 | ||
1075 | void TextEdit::doFilePerms(bool b) { | 1078 | void TextEdit::doFilePerms(bool b) { |
1076 | filePerms=b; | 1079 | filePerms=b; |
1077 | Config cfg("TextEdit"); | 1080 | Config cfg("TextEdit"); |
1078 | cfg.setGroup ( "View" ); | 1081 | cfg.setGroup ( "View" ); |
1079 | cfg.writeEntry ( "FilePermissions", b); | 1082 | cfg.writeEntry ( "FilePermissions", b); |
1080 | } | 1083 | } |
1081 | 1084 | ||
1082 | void TextEdit::editPasteTimeDate() { | 1085 | void TextEdit::editPasteTimeDate() { |
1083 | #ifndef QT_NO_CLIPBOARD | 1086 | #ifndef QT_NO_CLIPBOARD |
1084 | QClipboard *cb = QApplication::clipboard(); | 1087 | QClipboard *cb = QApplication::clipboard(); |
1085 | QDateTime dt = QDateTime::currentDateTime(); | 1088 | QDateTime dt = QDateTime::currentDateTime(); |
1086 | cb->setText( dt.toString()); | 1089 | cb->setText( dt.toString()); |
1087 | editor->paste(); | 1090 | editor->paste(); |
1088 | #endif | 1091 | #endif |
1089 | } | 1092 | } |
1090 | 1093 | ||
1091 | int TextEdit::savePrompt() | 1094 | int TextEdit::savePrompt() |
1092 | { | 1095 | { |
1093 | switch( QMessageBox::information( 0, (tr("Textedit")), | 1096 | switch( QMessageBox::information( 0, (tr("Textedit")), |
1094 | (tr("Textedit detected\n" | 1097 | (tr("Textedit detected\n" |
1095 | "you have unsaved changes\n" | 1098 | "you have unsaved changes\n" |
1096 | "Go ahead and save?\n")), | 1099 | "Go ahead and save?\n")), |
1097 | (tr("Save")), (tr("Don't Save")), (tr("&Cancel")), 2, 2 ) ) | 1100 | (tr("Save")), (tr("Don't Save")), (tr("&Cancel")), 2, 2 ) ) |
1098 | { | 1101 | { |
1099 | case 0: | 1102 | case 0: |
1100 | { | 1103 | { |
1101 | return 1; | 1104 | return 1; |
1102 | } | 1105 | } |
1103 | break; | 1106 | break; |
1104 | 1107 | ||
1105 | case 1: | 1108 | case 1: |
1106 | { | 1109 | { |
1107 | return 2; | 1110 | return 2; |
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 | ||
1121 | void TextEdit::timerCrank() | 1124 | void 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 | ||
1139 | void TextEdit::doTimer(bool b) | 1142 | void 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 | ||
1155 | void TextEdit::setTimer() | 1158 | void TextEdit::setTimer() |
1156 | { | 1159 | { |
1157 | if(featureAutoSave) | 1160 | if(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 | ||
1166 | void TextEdit::gotoLine() { | 1169 | void 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 | ||
1178 | void TextEdit::doGoto() { | 1181 | void 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; |
1184 | gotoEdit = 0; | 1187 | gotoEdit = 0; |
1185 | } | 1188 | } |
1186 | 1189 | ||
1187 | bool ok; | 1190 | bool ok; |
1188 | int lineNumber = number.toInt(&ok, 10); | 1191 | int lineNumber = number.toInt(&ok, 10); |
1189 | if( editor->numLines() < lineNumber) | 1192 | if( editor->numLines() < lineNumber) |
1190 | QMessageBox::message(tr("Text Edit"),tr("Not enough lines")); | 1193 | QMessageBox::message(tr("Text Edit"),tr("Not enough lines")); |
1191 | else | 1194 | else |
1192 | { | 1195 | { |
1193 | editor->setCursorPosition(lineNumber, 0, false); | 1196 | editor->setCursorPosition(lineNumber, 0, false); |
1194 | } | 1197 | } |
1195 | } | 1198 | } |