summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-03-25 04:31:43 (UTC)
committer llornkcor <llornkcor>2002-03-25 04:31:43 (UTC)
commit2dc3d45e57eb3265fe77e868c76d92fa27f627af (patch) (unidiff)
treed38258487935e59e5e49917f34566d34e473bb25
parent2538c5e0182c0c9e8a60307f43ec3d5cac045cce (diff)
downloadopie-2dc3d45e57eb3265fe77e868c76d92fa27f627af.zip
opie-2dc3d45e57eb3265fe77e868c76d92fa27f627af.tar.gz
opie-2dc3d45e57eb3265fe77e868c76d92fa27f627af.tar.bz2
set mimetype handling
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp22
-rw-r--r--core/apps/textedit/fileBrowser.h5
-rw-r--r--core/apps/textedit/textedit.cpp2
-rw-r--r--core/apps/textedit/textedit.h3
4 files changed, 23 insertions, 9 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index e103bcb..7a3a703 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -1,347 +1,359 @@
1/**************************************************************************** 1/****************************************************************************
2** copyright 2001 ljp ljp@llornkcor.com 2** copyright 2001 ljp ljp@llornkcor.com
3** Created: Fri Dec 14 08:16:46 2001 3** Created: Fri Dec 14 08:16:46 2001
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#define QTOPIA_INTERNAL_MIMEEXT
14#include "fileBrowser.h" 15#include "fileBrowser.h"
15//#include "inputDialog.h" 16//#include "inputDialog.h"
16 17
17#include <qpe/config.h> 18#include <qpe/config.h>
18#include <qpe/resource.h> 19#include <qpe/resource.h>
19#include <qpe/fileselector.h> 20#include <qpe/fileselector.h>
20#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
21#include <qpe/menubutton.h> 22#include <qpe/menubutton.h>
22#include <qpe/mimetype.h> 23#include <qpe/mimetype.h>
23 24
24#include <qdict.h> 25#include <qdict.h>
25#include <qwidgetstack.h> 26#include <qwidgetstack.h>
26#include <qlistview.h> 27#include <qlistview.h>
27#include <qcombo.h> 28#include <qcombo.h>
28#include <qpushbutton.h> 29#include <qpushbutton.h>
29#include <qfile.h> 30#include <qfile.h>
30#include <qmessagebox.h> 31#include <qmessagebox.h>
31#include <qlayout.h> 32#include <qlayout.h>
32#include <unistd.h> 33#include <unistd.h>
33#include <qpopupmenu.h> 34#include <qpopupmenu.h>
34#include <qlineedit.h> 35#include <qlineedit.h>
35#include <qstringlist.h> 36#include <qstringlist.h>
36 37
37#include <unistd.h> 38#include <unistd.h>
38#include <stdlib.h> 39#include <stdlib.h>
39 40
40static int u_id = 1; 41static int u_id = 1;
41static int get_unique_id() 42static int get_unique_id()
42{ 43{
43 return u_id++; 44 return u_id++;
44} 45}
45 46
46fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter ) 47fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter )
47 : QDialog( parent, name, modal, fl ) 48 : QDialog( parent, name, modal, fl )
48{ 49{
49 if ( !name ) 50 if ( !name )
50 setName( "fileBrowser" ); 51 setName( "fileBrowser" );
51 setCaption(tr( name ) ); 52 setCaption(tr( name ) );
52 filterStr = filter; 53 mimeType = mimeFilter;
54 MimeType mt( mimeType);
55 if( mt.extension().isEmpty())
56 filterStr = "*";
57 else
58 filterStr = "*."+ mt.extension();
59// qDebug("description "+mt.description());
60// qDebug( "id "+mt.id());
61// qDebug("extension "+mt.extension());
62
53// channel = new QCopChannel( "QPE/fileDialog", this ); 63// channel = new QCopChannel( "QPE/fileDialog", this );
54// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), 64// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
55// this, SLOT(receive(const QCString&, const QByteArray&)) ); 65// this, SLOT(receive(const QCString&, const QByteArray&)) );
56 66
57 QGridLayout *layout = new QGridLayout( this ); 67 QGridLayout *layout = new QGridLayout( this );
58 layout->setSpacing( 4 ); 68 layout->setSpacing( 4 );
59 layout->setMargin( 4 ); 69 layout->setMargin( 4 );
60 70
61 dirPathCombo = new QComboBox( FALSE, this, "dorPathCombo" ); 71 dirPathCombo = new QComboBox( FALSE, this, "dorPathCombo" );
62 dirPathCombo->setEditable(TRUE); 72 dirPathCombo->setEditable(TRUE);
63 73
64 connect( dirPathCombo, SIGNAL( activated( const QString & ) ), 74 connect( dirPathCombo, SIGNAL( activated( const QString & ) ),
65 this, SLOT( dirPathComboActivated( const QString & ) ) ); 75 this, SLOT( dirPathComboActivated( const QString & ) ) );
66 76
67 connect( dirPathCombo->lineEdit(), SIGNAL( returnPressed( ) ), 77 connect( dirPathCombo->lineEdit(), SIGNAL( returnPressed( ) ),
68 this, SLOT( dirPathEditPressed( ) ) ); 78 this, SLOT( dirPathEditPressed( ) ) );
69 79
70 dirPathStringList << "/"; 80 dirPathStringList << "/";
71// we can get the storage here 81// we can get the storage here
72 82
73 layout->addMultiCellWidget( dirPathCombo, 0, 0, 0, 4 ); 83 layout->addMultiCellWidget( dirPathCombo, 0, 0, 0, 4 );
74 84
75 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton"); 85 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
76 cdUpButton ->setMinimumSize( QSize( 20, 20 ) ); 86 cdUpButton ->setMinimumSize( QSize( 20, 20 ) );
77 cdUpButton ->setMaximumSize( QSize( 20, 20 ) ); 87 cdUpButton ->setMaximumSize( QSize( 20, 20 ) );
78 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) ); 88 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
79 cdUpButton ->setFlat(TRUE); 89 cdUpButton ->setFlat(TRUE);
80 layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 ); 90 layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 );
81 91
82
83 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton"); 92 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
84 docButton->setMinimumSize( QSize( 20, 20 ) ); 93 docButton->setMinimumSize( QSize( 20, 20 ) );
85 docButton->setMaximumSize( QSize( 20, 20 ) ); 94 docButton->setMaximumSize( QSize( 20, 20 ) );
86 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 95 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
87 docButton->setFlat(TRUE); 96 docButton->setFlat(TRUE);
88 layout->addMultiCellWidget( docButton, 0, 0, 6, 6 ); 97 layout->addMultiCellWidget( docButton, 0, 0, 6, 6 );
89 98
90 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton"); 99 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
91 homeButton->setMinimumSize( QSize( 20, 20 ) ); 100 homeButton->setMinimumSize( QSize( 20, 20 ) );
92 homeButton->setMaximumSize( QSize( 20, 20 ) ); 101 homeButton->setMaximumSize( QSize( 20, 20 ) );
93 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 102 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
94 homeButton->setFlat(TRUE); 103 homeButton->setFlat(TRUE);
95 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 ); 104 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 );
96 105
97 FileStack = new QWidgetStack( this ); 106 FileStack = new QWidgetStack( this );
98 107
99
100 ListView = new QListView( this, "ListView" ); 108 ListView = new QListView( this, "ListView" );
101// ListView->setMinimumSize( QSize( 100, 25 ) ); 109// ListView->setMinimumSize( QSize( 100, 25 ) );
102 ListView->addColumn( tr( "Name" ) ); 110 ListView->addColumn( tr( "Name" ) );
103 ListView->setColumnWidth(0,120); 111 ListView->setColumnWidth(0,120);
104 ListView->setSorting( 2, FALSE); 112 ListView->setSorting( 2, FALSE);
105 ListView->addColumn( tr( "Size" ) ); 113 ListView->addColumn( tr( "Size" ) );
106 ListView->setColumnWidth(1,-1); 114 ListView->setColumnWidth(1,-1);
107 ListView->addColumn( "Date",-1); 115 ListView->addColumn( "Date",-1);
108 116
109 ListView->setColumnWidthMode(0,QListView::Manual); 117 ListView->setColumnWidthMode(0,QListView::Manual);
110 ListView->setColumnAlignment(1,QListView::AlignRight); 118 ListView->setColumnAlignment(1,QListView::AlignRight);
111 ListView->setColumnAlignment(2,QListView::AlignRight); 119 ListView->setColumnAlignment(2,QListView::AlignRight);
112 ListView->setAllColumnsShowFocus( TRUE ); 120 ListView->setAllColumnsShowFocus( TRUE );
113 121
114 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); 122 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
115 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 123 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
116 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 124 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
117 125
118 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 126 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
119 127
120 FileStack->addWidget( ListView, get_unique_id() ); 128 FileStack->addWidget( ListView, get_unique_id() );
121mimeType="text/*"; 129
122 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy 130 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
123// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) ); 131// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
124// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 132// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
125 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) ); 133 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
126 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 ); 134 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 );
127 135
128 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" ); 136 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
129 SelectionCombo->insertItem( tr( "Documents" ) ); 137 SelectionCombo->insertItem( tr( "Documents" ) );
130 SelectionCombo->insertItem( tr( "All files" ) ); 138 SelectionCombo->insertItem( tr( "All files" ) );
131 SelectionCombo->insertItem( tr( "Hidden files" ) ); 139 SelectionCombo->insertItem( tr( "Hidden files" ) );
132// SelectionCombo->setMaximumWidth(120); 140// SelectionCombo->setMaximumWidth(120);
133 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 3 ); 141 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 3 );
134 142
135 connect( SelectionCombo, SIGNAL( activated( const QString & ) ), 143 connect( SelectionCombo, SIGNAL( activated( const QString & ) ),
136 this, SLOT( selectionChanged( const QString & ) ) ); 144 this, SLOT( selectionChanged( const QString & ) ) );
137 145
138 typemb = new MenuButton(this); 146 typemb = new MenuButton(this);
139 typemb->setLabel(tr("Type: %1")); 147 typemb->setLabel(tr("Type: %1"));
140 typemb->setMinimumWidth(110); 148 typemb->setMinimumWidth(110);
141 typemb->setFixedHeight(22); 149 typemb->setFixedHeight(22);
142 layout->addMultiCellWidget( typemb, 2, 2, 4, 7 ); 150 layout->addMultiCellWidget( typemb, 2, 2, 4, 7 );
143 updateMimeTypeMenu() ; 151 updateMimeTypeMenu() ;
144 152
145 currentDir.setPath(QDir::currentDirPath()); 153 currentDir.setPath(QDir::currentDirPath());
146 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All); 154 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
147 155
148 populateList(); 156 populateList();
149 move(0,15); 157 move(0,15);
150} 158}
151 159
152fileBrowser::~fileBrowser() 160fileBrowser::~fileBrowser()
153{ 161{
154} 162}
155 163
164void fileBrowser::setMimeType(const QString &type) {
165 mimeType = type;
166}
167
156void fileBrowser::setFileView( int selection ) 168void fileBrowser::setFileView( int selection )
157{ 169{
158 SelectionCombo->setCurrentItem( selection ); 170 SelectionCombo->setCurrentItem( selection );
159 selectionChanged( SelectionCombo->currentText() ); 171 selectionChanged( SelectionCombo->currentText() );
160} 172}
161 173
162void fileBrowser::populateList() 174void fileBrowser::populateList()
163{ 175{
164 ListView->clear(); 176 ListView->clear();
165 bool isDir=FALSE; 177 bool isDir=FALSE;
166//qDebug(currentDir.canonicalPath()); 178//qDebug(currentDir.canonicalPath());
167 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 179 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
168 currentDir.setMatchAllDirs(TRUE); 180 currentDir.setMatchAllDirs(TRUE);
169 181
170 currentDir.setNameFilter(filterStr); 182 currentDir.setNameFilter(filterStr);
171// currentDir.setNameFilter("*.txt;*.etx"); 183// currentDir.setNameFilter("*.txt;*.etx");
172 QString fileL, fileS, fileDate; 184 QString fileL, fileS, fileDate;
173 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 185 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
174 QFileInfoListIterator it(*list); 186 QFileInfoListIterator it(*list);
175 QFileInfo *fi; 187 QFileInfo *fi;
176 while ( (fi=it.current()) ) { 188 while ( (fi=it.current()) ) {
177 189
178 if (fi->isSymLink() ){ 190 if (fi->isSymLink() ){
179 QString symLink=fi->readLink(); 191 QString symLink=fi->readLink();
180// qDebug("Symlink detected "+symLink); 192// qDebug("Symlink detected "+symLink);
181 QFileInfo sym( symLink); 193 QFileInfo sym( symLink);
182 fileS.sprintf( "%10li", sym.size() ); 194 fileS.sprintf( "%10li", sym.size() );
183 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); 195 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
184 fileDate = sym.lastModified().toString(); 196 fileDate = sym.lastModified().toString();
185 } else { 197 } else {
186// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 198// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
187 fileS.sprintf( "%10li", fi->size() ); 199 fileS.sprintf( "%10li", fi->size() );
188 fileL.sprintf( "%s",fi->fileName().data() ); 200 fileL.sprintf( "%s",fi->fileName().data() );
189 fileDate= fi->lastModified().toString(); 201 fileDate= fi->lastModified().toString();
190 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { 202 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
191 fileL+="/"; 203 fileL+="/";
192 isDir=TRUE; 204 isDir=TRUE;
193// qDebug( fileL); 205// qDebug( fileL);
194 } 206 }
195 } 207 }
196 if(fileL !="./") { 208 if(fileL !="./") {
197 item= new QListViewItem( ListView,fileL,fileS , fileDate); 209 item= new QListViewItem( ListView,fileL,fileS , fileDate);
198 QPixmap pm; 210 QPixmap pm;
199 211
200 if(isDir || fileL.find("/",0,TRUE) != -1) { 212 if(isDir || fileL.find("/",0,TRUE) != -1) {
201 if( !QDir( fi->filePath() ).isReadable()) 213 if( !QDir( fi->filePath() ).isReadable())
202 pm = Resource::loadPixmap( "lockedfolder" ); 214 pm = Resource::loadPixmap( "lockedfolder" );
203 else 215 else
204 pm= Resource::loadPixmap( "folder" ); 216 pm= Resource::loadPixmap( "folder" );
205 item->setPixmap( 0,pm ); 217 item->setPixmap( 0,pm );
206 } else { 218 } else {
207 if( !fi->isReadable() ) 219 if( !fi->isReadable() )
208 pm = Resource::loadPixmap( "locked" ); 220 pm = Resource::loadPixmap( "locked" );
209 else { 221 else {
210 MimeType mt(fi->filePath()); 222 MimeType mt(fi->filePath());
211 pm=mt.pixmap(); 223 pm=mt.pixmap();
212 if(pm.isNull()) 224 if(pm.isNull())
213 pm = Resource::loadPixmap( "UnknownDocument-14" ); 225 pm = Resource::loadPixmap( "UnknownDocument-14" );
214 item->setPixmap( 0,pm); 226 item->setPixmap( 0,pm);
215 } 227 }
216 } 228 }
217 if( fileL.find("->",0,TRUE) != -1) { 229 if( fileL.find("->",0,TRUE) != -1) {
218 // overlay link image 230 // overlay link image
219 pm= Resource::loadPixmap( "folder" ); 231 pm= Resource::loadPixmap( "folder" );
220 QPixmap lnk = Resource::loadPixmap( "symlink" ); 232 QPixmap lnk = Resource::loadPixmap( "symlink" );
221 QPainter painter( &pm ); 233 QPainter painter( &pm );
222 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); 234 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
223 pm.setMask( pm.createHeuristicMask( FALSE ) ); 235 pm.setMask( pm.createHeuristicMask( FALSE ) );
224 item->setPixmap( 0, pm); 236 item->setPixmap( 0, pm);
225 } 237 }
226 } 238 }
227 isDir=FALSE; 239 isDir=FALSE;
228 ++it; 240 ++it;
229 } 241 }
230 ListView->setSorting( 3, FALSE); 242 ListView->setSorting( 3, FALSE);
231 QString currentPath = currentDir.canonicalPath(); 243 QString currentPath = currentDir.canonicalPath();
232 244
233 fillCombo( (const QString &)currentPath); 245 fillCombo( (const QString &)currentPath);
234// dirPathCombo->lineEdit()->setText(currentPath); 246// dirPathCombo->lineEdit()->setText(currentPath);
235 247
236// if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 248// if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
237// dirPathCombo->clear(); 249// dirPathCombo->clear();
238// dirPathStringList.prepend(currentPath ); 250// dirPathStringList.prepend(currentPath );
239// dirPathCombo->insertStringList( dirPathStringList,-1); 251// dirPathCombo->insertStringList( dirPathStringList,-1);
240// } 252// }
241} 253}
242 254
243void fileBrowser::upDir() 255void fileBrowser::upDir()
244{ 256{
245 QString current = currentDir.canonicalPath(); 257 QString current = currentDir.canonicalPath();
246 QDir dir(current); 258 QDir dir(current);
247 dir.cdUp(); 259 dir.cdUp();
248 current = dir.canonicalPath(); 260 current = dir.canonicalPath();
249 chdir( current.latin1() ); 261 chdir( current.latin1() );
250 currentDir.cd( current, TRUE); 262 currentDir.cd( current, TRUE);
251 populateList(); 263 populateList();
252 update(); 264 update();
253} 265}
254 266
255// you may want to switch these 2 functions. I like single clicks 267// you may want to switch these 2 functions. I like single clicks
256void fileBrowser::listClicked(QListViewItem *selectedItem) 268void fileBrowser::listClicked(QListViewItem *selectedItem)
257{ 269{
258 QString strItem=selectedItem->text(0); 270 QString strItem=selectedItem->text(0);
259 QString strSize=selectedItem->text(1); 271 QString strSize=selectedItem->text(1);
260// qDebug("strItem is "+strItem); 272// qDebug("strItem is "+strItem);
261 strSize.stripWhiteSpace(); 273 strSize.stripWhiteSpace();
262// qDebug(strSize); 274// qDebug(strSize);
263 275
264 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 276 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
265 // is symlink 277 // is symlink
266 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4); 278 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4);
267// qDebug("strItem symlink is "+strItem2); 279// qDebug("strItem symlink is "+strItem2);
268 if(QDir(strItem2).exists() ) { 280 if(QDir(strItem2).exists() ) {
269 currentDir.cd(strItem2, TRUE); 281 currentDir.cd(strItem2, TRUE);
270 populateList(); 282 populateList();
271 } 283 }
272 } else { // not a symlink 284 } else { // not a symlink
273 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 285 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
274 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { 286 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
275 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 287 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
276 currentDir.cd(strItem,FALSE); 288 currentDir.cd(strItem,FALSE);
277// qDebug("Path is "+strItem); 289// qDebug("Path is "+strItem);
278 populateList(); 290 populateList();
279 } else { 291 } else {
280 currentDir.cdUp(); 292 currentDir.cdUp();
281 populateList(); 293 populateList();
282 } 294 }
283 if(QDir(strItem).exists()){ 295 if(QDir(strItem).exists()){
284 currentDir.cd(strItem, TRUE); 296 currentDir.cd(strItem, TRUE);
285 populateList(); 297 populateList();
286 } 298 }
287 } else { 299 } else {
288 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 300 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
289 if( QFile::exists(strItem ) ) { 301 if( QFile::exists(strItem ) ) {
290//currentDir.canonicalPath() 302//currentDir.canonicalPath()
291 qDebug("We found our files!!"+strItem); 303 qDebug("We found our files!!"+strItem);
292 OnOK(); 304 OnOK();
293 } 305 }
294 } //end not symlink 306 } //end not symlink
295 chdir(strItem.latin1()); 307 chdir(strItem.latin1());
296 } 308 }
297} 309}
298 310
299void fileBrowser::OnOK() 311void fileBrowser::OnOK()
300{ 312{
301 QListViewItemIterator it1( ListView); 313 QListViewItemIterator it1( ListView);
302 for ( ; it1.current(); ++it1 ) { 314 for ( ; it1.current(); ++it1 ) {
303 if ( it1.current()->isSelected() ) { 315 if ( it1.current()->isSelected() ) {
304 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0)); 316 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0));
305 qDebug("selected filename is "+selectedFileName); 317 qDebug("selected filename is "+selectedFileName);
306 fileList.append( selectedFileName ); 318 fileList.append( selectedFileName );
307 } 319 }
308 } 320 }
309 accept(); 321 accept();
310} 322}
311 323
312void fileBrowser::homeButtonPushed() { 324void fileBrowser::homeButtonPushed() {
313 QString current = QDir::homeDirPath(); 325 QString current = QDir::homeDirPath();
314 chdir( current.latin1() ); 326 chdir( current.latin1() );
315 currentDir.cd( current, TRUE); 327 currentDir.cd( current, TRUE);
316 populateList(); 328 populateList();
317 update(); 329 update();
318} 330}
319 331
320void fileBrowser::docButtonPushed() { 332void fileBrowser::docButtonPushed() {
321 QString current = QPEApplication::documentDir(); 333 QString current = QPEApplication::documentDir();
322 chdir( current.latin1() ); 334 chdir( current.latin1() );
323 currentDir.cd( current, TRUE); 335 currentDir.cd( current, TRUE);
324 populateList(); 336 populateList();
325 update(); 337 update();
326 338
327} 339}
328 340
329void fileBrowser::selectionChanged( const QString &select ) 341void fileBrowser::selectionChanged( const QString &select )
330{ 342{
331 if ( select == "Documents") { 343 if ( select == "Documents") {
332 FileStack->raiseWidget( fileSelector ); 344 FileStack->raiseWidget( fileSelector );
333 dirPathCombo->hide(); 345 dirPathCombo->hide();
334 cdUpButton->hide(); 346 cdUpButton->hide();
335 docButton->hide(); 347 docButton->hide();
336 homeButton->hide(); 348 homeButton->hide();
337 } else { 349 } else {
338 if ( select == "All files" ) 350 if ( select == "All files" )
339 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All); 351 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All);
340 else 352 else
341 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 353 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
342 354
343 populateList(); 355 populateList();
344 update(); 356 update();
345 dirPathCombo->show(); 357 dirPathCombo->show();
346 cdUpButton->show(); 358 cdUpButton->show();
347 docButton->show(); 359 docButton->show();
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index 77ac166..1138d80 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -1,119 +1,120 @@
1/**************************************************************************** 1/****************************************************************************
2** 2**
3** Created: Fri Dec 14 08:16:02 2001 3** Created: Fri Dec 14 08:16:02 2001
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**
13copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com 13copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com
14****************************************************************************/ 14****************************************************************************/
15#ifndef FILEBROWSER_H 15#ifndef FILEBROWSER_H
16#define FILEBROWSER_H 16#define FILEBROWSER_H
17 17
18//#include <qvariant.h> 18//#include <qvariant.h>
19#include <qdialog.h> 19#include <qdialog.h>
20#include <qfile.h> 20#include <qfile.h>
21#include <qdir.h> 21#include <qdir.h>
22#include <qstringlist.h> 22#include <qstringlist.h>
23#include <qlabel.h> 23#include <qlabel.h>
24#include <qstring.h> 24#include <qstring.h>
25#include <qdict.h> 25#include <qdict.h>
26 26
27#include <qpe/filemanager.h> 27#include <qpe/filemanager.h>
28 28
29#include <qvariant.h> 29#include <qvariant.h>
30#include <qdialog.h> 30#include <qdialog.h>
31class QLineEdit; 31class QLineEdit;
32 32
33class QVBoxLayout; 33class QVBoxLayout;
34class QHBoxLayout; 34class QHBoxLayout;
35class QGridLayout; 35class QGridLayout;
36class QListView; 36class QListView;
37class QListViewItem; 37class QListViewItem;
38class QPushButton; 38class QPushButton;
39class QComboBox; 39class QComboBox;
40class QWidgetStack; 40class QWidgetStack;
41class FileSelector; 41class FileSelector;
42class QPoint; 42class QPoint;
43class MenuButton; 43class MenuButton;
44class QRegExp; 44class QRegExp;
45 45
46 46
47class fileBrowser : public QDialog 47class fileBrowser : public QDialog
48{ 48{
49 Q_OBJECT 49 Q_OBJECT
50 50
51public: 51public:
52 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0); 52 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
53 ~fileBrowser(); 53 ~fileBrowser();
54 54
55 QString selectedFileName, mimeType; 55 QString selectedFileName;
56 QFile file; 56 QFile file;
57 QStringList fileList; 57 QStringList fileList;
58 QComboBox *SelectionCombo; 58 QComboBox *SelectionCombo;
59public slots: 59public slots:
60 void setFileView( int ); 60 void setFileView( int );
61 void setMimeType(const QString &);
61 62
62private: 63private:
63// QDict<void> mimes; 64// QDict<void> mimes;
64 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton, *cdUpButton; 65 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton, *cdUpButton;
65 QListView* ListView; 66 QListView* ListView;
66 QLabel *dirLabel; 67 QLabel *dirLabel;
67 QString filterStr; 68 QString filterStr, mimeType;
68 QDir currentDir; 69 QDir currentDir;
69 QStringList dirPathStringList; 70 QStringList dirPathStringList;
70 QListViewItem * item; 71 QListViewItem * item;
71 QComboBox *dirPathCombo; 72 QComboBox *dirPathCombo;
72 MenuButton *typemb; 73 MenuButton *typemb;
73 QWidgetStack *FileStack; 74 QWidgetStack *FileStack;
74 FileSelector *fileSelector; 75 FileSelector *fileSelector;
75 QRegExp tf; 76 QRegExp tf;
76 QStringList getMimeTypes(); 77 QStringList getMimeTypes();
77 void fillCombo( const QString&); 78 void fillCombo( const QString&);
78 79
79private slots: 80private slots:
80 void populateList(); 81 void populateList();
81 void homeButtonPushed(); 82 void homeButtonPushed();
82 void docButtonPushed(); 83 void docButtonPushed();
83 void ListPressed( int, QListViewItem *, const QPoint&, int); 84 void ListPressed( int, QListViewItem *, const QPoint&, int);
84 void showListMenu(QListViewItem*); 85 void showListMenu(QListViewItem*);
85 void doCd(); 86 void doCd();
86 void makDir(); 87 void makDir();
87 void localRename(); 88 void localRename();
88 void localDelete(); 89 void localDelete();
89 void receive( const QCString &msg, const QByteArray &data ); 90 void receive( const QCString &msg, const QByteArray &data );
90 void dirPathComboActivated( const QString & ); 91 void dirPathComboActivated( const QString & );
91 void upDir(); 92 void upDir();
92 void listClicked( QListViewItem * ); 93 void listClicked( QListViewItem * );
93 void selectionChanged( const QString & ); 94 void selectionChanged( const QString & );
94 void OnOK(); 95 void OnOK();
95 void docOpen( const DocLnk & ); 96 void docOpen( const DocLnk & );
96 void updateMimeTypeMenu(); 97 void updateMimeTypeMenu();
97 void showType(const QString &); 98 void showType(const QString &);
98 void dirPathEditPressed(); 99 void dirPathEditPressed();
99 100
100protected slots: 101protected slots:
101 102
102protected: 103protected:
103 104
104}; 105};
105 106
106 107
107class InputDialog : public QDialog 108class InputDialog : public QDialog
108{ 109{
109 Q_OBJECT 110 Q_OBJECT
110 111
111public: 112public:
112 InputDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); 113 InputDialog( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
113 ~InputDialog(); 114 ~InputDialog();
114 QString inputText; 115 QString inputText;
115 QLineEdit* LineEdit1; 116 QLineEdit* LineEdit1;
116 117
117}; 118};
118 119
119#endif // FILEBROWSER_H 120#endif // FILEBROWSER_H
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index ecebe12..d28ece8 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -304,385 +304,385 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
304 304
305 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 ); 305 zin = new QAction( tr("Zoom in"), QString::null, 0, this, 0 );
306 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) ); 306 connect( zin, SIGNAL( activated() ), this, SLOT( zoomIn() ) );
307 zin->addTo( font ); 307 zin->addTo( font );
308 308
309 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 ); 309 zout = new QAction( tr("Zoom out"), QString::null, 0, this, 0 );
310 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) ); 310 connect( zout, SIGNAL( activated() ), this, SLOT( zoomOut() ) );
311 zout->addTo( font ); 311 zout->addTo( font );
312 312
313 font->insertSeparator(); 313 font->insertSeparator();
314 314
315#if 0 315#if 0
316 QAction *ba = new QAction( tr("Bold"), QString::null, 0, this, 0 ); 316 QAction *ba = new QAction( tr("Bold"), QString::null, 0, this, 0 );
317 connect( ba, SIGNAL( toggled(bool) ), this, SLOT( setBold(bool) ) ); 317 connect( ba, SIGNAL( toggled(bool) ), this, SLOT( setBold(bool) ) );
318 ba->setToggleAction(TRUE); 318 ba->setToggleAction(TRUE);
319 ba->addTo( font ); 319 ba->addTo( font );
320 320
321 QAction *ia = new QAction( tr("Italic"), QString::null, 0, this, 0 ); 321 QAction *ia = new QAction( tr("Italic"), QString::null, 0, this, 0 );
322 connect( ia, SIGNAL( toggled(bool) ), this, SLOT( setItalic(bool) ) ); 322 connect( ia, SIGNAL( toggled(bool) ), this, SLOT( setItalic(bool) ) );
323 ia->setToggleAction(TRUE); 323 ia->setToggleAction(TRUE);
324 ia->addTo( font ); 324 ia->addTo( font );
325 325
326 ba->setOn(defb); 326 ba->setOn(defb);
327 ia->setOn(defi); 327 ia->setOn(defi);
328 328
329 font->insertSeparator(); 329 font->insertSeparator();
330#endif 330#endif
331 331
332 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 ); 332 QAction *wa = new QAction( tr("Wrap lines"), QString::null, 0, this, 0 );
333 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) ); 333 connect( wa, SIGNAL( toggled(bool) ), this, SLOT( setWordWrap(bool) ) );
334 wa->setToggleAction(TRUE); 334 wa->setToggleAction(TRUE);
335 wa->addTo( font ); 335 wa->addTo( font );
336 336
337 font->insertSeparator(); 337 font->insertSeparator();
338 font->insertItem("Font", this, SLOT(changeFont()) ); 338 font->insertItem("Font", this, SLOT(changeFont()) );
339 339
340 font->insertSeparator(); 340 font->insertSeparator();
341 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 ); 341 nStart = new QAction( tr("Start with new file"), QString::null, 0, this, 0 );
342 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) ); 342 connect( nStart, SIGNAL( toggled(bool) ), this, SLOT( changeStartConfig(bool) ) );
343 nStart->setToggleAction(TRUE); 343 nStart->setToggleAction(TRUE);
344 nStart->addTo( font ); 344 nStart->addTo( font );
345 345
346 mb->insertItem( tr( "File" ), file ); 346 mb->insertItem( tr( "File" ), file );
347 mb->insertItem( tr( "Edit" ), edit ); 347 mb->insertItem( tr( "Edit" ), edit );
348 mb->insertItem( tr( "View" ), font ); 348 mb->insertItem( tr( "View" ), font );
349 349
350 searchBar = new QPEToolBar(this); 350 searchBar = new QPEToolBar(this);
351 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE ); 351 addToolBar( searchBar, "Search", QMainWindow::Top, TRUE );
352 352
353 searchBar->setHorizontalStretchable( TRUE ); 353 searchBar->setHorizontalStretchable( TRUE );
354 354
355 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 355 searchEdit = new QLineEdit( searchBar, "searchEdit" );
356 searchBar->setStretchableWidget( searchEdit ); 356 searchBar->setStretchableWidget( searchEdit );
357 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 357 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
358 this, SLOT( search() ) ); 358 this, SLOT( search() ) );
359 359
360 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 ); 360 a = new QAction( tr( "Find Next" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
361 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 361 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
362 a->addTo( searchBar ); 362 a->addTo( searchBar );
363 a->addTo( edit ); 363 a->addTo( edit );
364 364
365 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 365 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
366 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 366 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
367 a->addTo( searchBar ); 367 a->addTo( searchBar );
368 368
369 edit->insertSeparator(); 369 edit->insertSeparator();
370 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 ); 370 a = new QAction( tr( "Delete" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
371 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) ); 371 connect( a, SIGNAL( activated() ), this, SLOT( editDelete() ) );
372 a->addTo( edit ); 372 a->addTo( edit );
373 373
374 searchBar->hide(); 374 searchBar->hide();
375 375
376 editor = new QpeEditor( this ); 376 editor = new QpeEditor( this );
377 setCentralWidget( editor ); 377 setCentralWidget( editor );
378 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 378 editor->setFrameStyle( QFrame::Panel | QFrame::Sunken );
379 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) ); 379 connect( editor, SIGNAL( textChanged() ), this, SLOT( editorChanged() ) );
380 380
381// resize( 200, 300 ); 381// resize( 200, 300 );
382 382
383// setFontSize(defsize,TRUE); 383// setFontSize(defsize,TRUE);
384 FontDatabase fdb; 384 FontDatabase fdb;
385 QFont defaultFont=editor->font(); 385 QFont defaultFont=editor->font();
386 QFontInfo fontInfo(defaultFont); 386 QFontInfo fontInfo(defaultFont);
387 387
388 cfg.setGroup("Font"); 388 cfg.setGroup("Font");
389 QString family = cfg.readEntry("Family", fontInfo.family()); 389 QString family = cfg.readEntry("Family", fontInfo.family());
390 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); 390 QString style = cfg.readEntry("Style", fdb.styleString(defaultFont));
391 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); 391 int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10);
392 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); 392 QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) );
393 393
394 defaultFont = fdb.font(family,style,i_size,charSet); 394 defaultFont = fdb.font(family,style,i_size,charSet);
395 editor->setFont( defaultFont); 395 editor->setFont( defaultFont);
396 396
397 wa->setOn(wrap); 397 wa->setOn(wrap);
398 updateCaption(); 398 updateCaption();
399 399
400 cfg.setGroup("View"); 400 cfg.setGroup("View");
401 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 401 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
402 nStart->setOn(TRUE); 402 nStart->setOn(TRUE);
403 fileNew(); 403 fileNew();
404 } else { 404 } else {
405 fileOpen(); 405 fileOpen();
406 } 406 }
407 viewSelection = cfg.readNumEntry( "FileView", 0 ); 407 viewSelection = cfg.readNumEntry( "FileView", 0 );
408} 408}
409 409
410void TextEdit::cleanUp() 410void TextEdit::cleanUp()
411{ 411{
412// save(); 412// save();
413 Config cfg("TextEdit"); 413 Config cfg("TextEdit");
414 cfg.setGroup("View"); 414 cfg.setGroup("View");
415 QFont f = editor->font(); 415 QFont f = editor->font();
416 cfg.writeEntry("FontSize",f.pointSize()); 416 cfg.writeEntry("FontSize",f.pointSize());
417 cfg.writeEntry("Bold",f.bold()); 417 cfg.writeEntry("Bold",f.bold());
418 cfg.writeEntry("Italic",f.italic()); 418 cfg.writeEntry("Italic",f.italic());
419 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth); 419 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth);
420 cfg.writeEntry( "FileView", viewSelection ); 420 cfg.writeEntry( "FileView", viewSelection );
421 421
422} 422}
423 423
424TextEdit::~TextEdit() 424TextEdit::~TextEdit()
425{ 425{
426} 426}
427 427
428void TextEdit::zoomIn() 428void TextEdit::zoomIn()
429{ 429{
430 setFontSize(editor->font().pointSize()+1,FALSE); 430 setFontSize(editor->font().pointSize()+1,FALSE);
431} 431}
432 432
433void TextEdit::zoomOut() 433void TextEdit::zoomOut()
434{ 434{
435 setFontSize(editor->font().pointSize()-1,TRUE); 435 setFontSize(editor->font().pointSize()-1,TRUE);
436} 436}
437 437
438 438
439void TextEdit::setFontSize(int sz, bool round_down_not_up) 439void TextEdit::setFontSize(int sz, bool round_down_not_up)
440{ 440{
441 int s=10; 441 int s=10;
442 for (int i=0; i<nfontsizes; i++) { 442 for (int i=0; i<nfontsizes; i++) {
443 if ( fontsize[i] == sz ) { 443 if ( fontsize[i] == sz ) {
444 s = sz; 444 s = sz;
445 break; 445 break;
446 } else if ( round_down_not_up ) { 446 } else if ( round_down_not_up ) {
447 if ( fontsize[i] < sz ) 447 if ( fontsize[i] < sz )
448 s = fontsize[i]; 448 s = fontsize[i];
449 } else { 449 } else {
450 if ( fontsize[i] > sz ) { 450 if ( fontsize[i] > sz ) {
451 s = fontsize[i]; 451 s = fontsize[i];
452 break; 452 break;
453 } 453 }
454 } 454 }
455 } 455 }
456 456
457 QFont f = editor->font(); 457 QFont f = editor->font();
458 f.setPointSize(s); 458 f.setPointSize(s);
459 editor->setFont(f); 459 editor->setFont(f);
460 460
461 zin->setEnabled(s != fontsize[nfontsizes-1]); 461 zin->setEnabled(s != fontsize[nfontsizes-1]);
462 zout->setEnabled(s != fontsize[0]); 462 zout->setEnabled(s != fontsize[0]);
463} 463}
464 464
465void TextEdit::setBold(bool y) 465void TextEdit::setBold(bool y)
466{ 466{
467 QFont f = editor->font(); 467 QFont f = editor->font();
468 f.setBold(y); 468 f.setBold(y);
469 editor->setFont(f); 469 editor->setFont(f);
470} 470}
471 471
472void TextEdit::setItalic(bool y) 472void TextEdit::setItalic(bool y)
473{ 473{
474 QFont f = editor->font(); 474 QFont f = editor->font();
475 f.setItalic(y); 475 f.setItalic(y);
476 editor->setFont(f); 476 editor->setFont(f);
477} 477}
478 478
479void TextEdit::setWordWrap(bool y) 479void TextEdit::setWordWrap(bool y)
480{ 480{
481 bool state = editor->edited(); 481 bool state = editor->edited();
482 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 482 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
483 editor->setEdited( state ); 483 editor->setEdited( state );
484} 484}
485 485
486void TextEdit::fileNew() 486void TextEdit::fileNew()
487{ 487{
488 if( !bFromDocView ) { 488 if( !bFromDocView ) {
489 saveAs(); 489 saveAs();
490 } 490 }
491 newFile(DocLnk()); 491 newFile(DocLnk());
492} 492}
493 493
494void TextEdit::fileOpen() 494void TextEdit::fileOpen()
495{ 495{
496 browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "*"); 496 browseForFiles=new fileBrowser(this,"Open File",TRUE,0, "text/*"); //
497 browseForFiles->setFileView( viewSelection ); 497 browseForFiles->setFileView( viewSelection );
498 browseForFiles->showMaximized(); 498 browseForFiles->showMaximized();
499 if( browseForFiles->exec() != -1 ) { 499 if( browseForFiles->exec() != -1 ) {
500 QString selFile = browseForFiles->selectedFileName; 500 QString selFile = browseForFiles->selectedFileName;
501 QStringList fileList = browseForFiles->fileList; 501 QStringList fileList = browseForFiles->fileList;
502 qDebug(selFile); 502 qDebug(selFile);
503 QStringList::ConstIterator f; 503 QStringList::ConstIterator f;
504 QString fileTemp; 504 QString fileTemp;
505 for ( f = fileList.begin(); f != fileList.end(); f++ ) { 505 for ( f = fileList.begin(); f != fileList.end(); f++ ) {
506 fileTemp = *f; 506 fileTemp = *f;
507 fileTemp.right( fileTemp.length()-5); 507 fileTemp.right( fileTemp.length()-5);
508 QString fileName = fileTemp; 508 QString fileName = fileTemp;
509 if( fileName != "Unnamed" || fileName != "Empty Text" ) { 509 if( fileName != "Unnamed" || fileName != "Empty Text" ) {
510 currentFileName = fileName; 510 currentFileName = fileName;
511 qDebug("please open "+currentFileName); 511 qDebug("please open "+currentFileName);
512 openFile(fileName ); 512 openFile(fileName );
513 } 513 }
514 } 514 }
515 viewSelection = browseForFiles->SelectionCombo->currentItem(); 515 viewSelection = browseForFiles->SelectionCombo->currentItem();
516 } 516 }
517 delete browseForFiles; 517 delete browseForFiles;
518 editor->setEdited( FALSE); 518 editor->setEdited( FALSE);
519 edited1=FALSE; 519 edited1=FALSE;
520 edited=FALSE; 520 edited=FALSE;
521 if(caption().left(1)=="*") 521 if(caption().left(1)=="*")
522 setCaption(caption().right(caption().length()-1)); 522 setCaption(caption().right(caption().length()-1));
523 doSearchBar(); 523 doSearchBar();
524} 524}
525 525
526void TextEdit::doSearchBar() 526void TextEdit::doSearchBar()
527{ 527{
528 Config cfg("TextEdit"); 528 Config cfg("TextEdit");
529 cfg.setGroup("View"); 529 cfg.setGroup("View");
530 if(cfg.readEntry("SearchBar","Closed") != "Opened") 530 if(cfg.readEntry("SearchBar","Closed") != "Opened")
531 searchBar->hide(); 531 searchBar->hide();
532} 532}
533 533
534#if 0 534#if 0
535void TextEdit::slotFind() 535void TextEdit::slotFind()
536{ 536{
537 FindDialog frmFind( "Text Editor", this ); 537 FindDialog frmFind( "Text Editor", this );
538 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 538 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
539 editor, SLOT(slotDoFind( const QString&,bool,bool))); 539 editor, SLOT(slotDoFind( const QString&,bool,bool)));
540 540
541 //case sensitive, backwards, [category] 541 //case sensitive, backwards, [category]
542 542
543 connect( editor, SIGNAL(notFound()), 543 connect( editor, SIGNAL(notFound()),
544 &frmFind, SLOT(slotNotFound()) ); 544 &frmFind, SLOT(slotNotFound()) );
545 connect( editor, SIGNAL(searchWrapped()), 545 connect( editor, SIGNAL(searchWrapped()),
546 &frmFind, SLOT(slotWrapAround()) ); 546 &frmFind, SLOT(slotWrapAround()) );
547 547
548 frmFind.exec(); 548 frmFind.exec();
549 549
550 550
551} 551}
552#endif 552#endif
553 553
554void TextEdit::fileRevert() 554void TextEdit::fileRevert()
555{ 555{
556 clear(); 556 clear();
557 fileOpen(); 557 fileOpen();
558} 558}
559 559
560void TextEdit::editCut() 560void TextEdit::editCut()
561{ 561{
562#ifndef QT_NO_CLIPBOARD 562#ifndef QT_NO_CLIPBOARD
563 editor->cut(); 563 editor->cut();
564#endif 564#endif
565} 565}
566 566
567void TextEdit::editCopy() 567void TextEdit::editCopy()
568{ 568{
569#ifndef QT_NO_CLIPBOARD 569#ifndef QT_NO_CLIPBOARD
570 editor->copy(); 570 editor->copy();
571#endif 571#endif
572} 572}
573 573
574void TextEdit::editPaste() 574void TextEdit::editPaste()
575{ 575{
576#ifndef QT_NO_CLIPBOARD 576#ifndef QT_NO_CLIPBOARD
577 editor->paste(); 577 editor->paste();
578#endif 578#endif
579} 579}
580 580
581void TextEdit::editFind() 581void TextEdit::editFind()
582{ 582{
583 searchBar->show(); 583 searchBar->show();
584 searchVisible = TRUE; 584 searchVisible = TRUE;
585 searchEdit->setFocus(); 585 searchEdit->setFocus();
586 Config cfg("TextEdit"); 586 Config cfg("TextEdit");
587 cfg.setGroup("View"); 587 cfg.setGroup("View");
588 cfg.writeEntry("SearchBar","Opened"); 588 cfg.writeEntry("SearchBar","Opened");
589 589
590} 590}
591 591
592void TextEdit::findNext() 592void TextEdit::findNext()
593{ 593{
594 editor->find( searchEdit->text(), FALSE, FALSE ); 594 editor->find( searchEdit->text(), FALSE, FALSE );
595 595
596} 596}
597 597
598void TextEdit::findClose() 598void TextEdit::findClose()
599{ 599{
600 searchVisible = FALSE; 600 searchVisible = FALSE;
601 searchBar->hide(); 601 searchBar->hide();
602 Config cfg("TextEdit"); 602 Config cfg("TextEdit");
603 cfg.setGroup("View"); 603 cfg.setGroup("View");
604 cfg.writeEntry("SearchBar","Closed"); 604 cfg.writeEntry("SearchBar","Closed");
605 cfg.write(); 605 cfg.write();
606} 606}
607 607
608void TextEdit::search() 608void TextEdit::search()
609{ 609{
610 editor->find( searchEdit->text(), FALSE, FALSE ); 610 editor->find( searchEdit->text(), FALSE, FALSE );
611} 611}
612 612
613void TextEdit::newFile( const DocLnk &f ) 613void TextEdit::newFile( const DocLnk &f )
614{ 614{
615 DocLnk nf = f; 615 DocLnk nf = f;
616 nf.setType("text/plain"); 616 nf.setType("text/plain");
617 clear(); 617 clear();
618 setWState (WState_Reserved1 ); 618 setWState (WState_Reserved1 );
619 editor->setFocus(); 619 editor->setFocus();
620 doc = new DocLnk(nf); 620 doc = new DocLnk(nf);
621 qDebug("newFile "+currentFileName); 621 qDebug("newFile "+currentFileName);
622 updateCaption(currentFileName); 622 updateCaption(currentFileName);
623} 623}
624 624
625void TextEdit::openFile( const QString &f ) 625void TextEdit::openFile( const QString &f )
626{ 626{
627 627
628 bFromDocView = TRUE; 628 bFromDocView = TRUE;
629 DocLnk nf; 629 DocLnk nf;
630 nf.setType("text/plain"); 630 nf.setType("text/plain");
631 nf.setFile(f); 631 nf.setFile(f);
632 currentFileName=f; 632 currentFileName=f;
633 QFileInfo fi( currentFileName); 633 QFileInfo fi( currentFileName);
634 nf.setName(fi.baseName()); 634 nf.setName(fi.baseName());
635 qDebug("openFile string"+currentFileName); 635 qDebug("openFile string"+currentFileName);
636 636
637 openFile(nf); 637 openFile(nf);
638 showEditTools(); 638 showEditTools();
639 // Show filename in caption 639 // Show filename in caption
640 QString name = f; 640 QString name = f;
641 int sep = name.findRev( '/' ); 641 int sep = name.findRev( '/' );
642 if ( sep > 0 ) 642 if ( sep > 0 )
643 name = name.mid( sep+1 ); 643 name = name.mid( sep+1 );
644 updateCaption( name ); 644 updateCaption( name );
645} 645}
646 646
647void TextEdit::openFile( const DocLnk &f ) 647void TextEdit::openFile( const DocLnk &f )
648{ 648{
649// clear(); 649// clear();
650 bFromDocView = TRUE; 650 bFromDocView = TRUE;
651 FileManager fm; 651 FileManager fm;
652 QString txt; 652 QString txt;
653 currentFileName=f.name(); 653 currentFileName=f.name();
654 qDebug("openFile doclnk " + currentFileName); 654 qDebug("openFile doclnk " + currentFileName);
655 if ( !fm.loadFile( f, txt ) ) { 655 if ( !fm.loadFile( f, txt ) ) {
656 // ####### could be a new file 656 // ####### could be a new file
657 qDebug( "Cannot open file" ); 657 qDebug( "Cannot open file" );
658 658
659 //return; 659 //return;
660 } 660 }
661 661
662 fileNew(); 662 fileNew();
663 if ( doc ) 663 if ( doc )
664 delete doc; 664 delete doc;
665 doc = new DocLnk(f); 665 doc = new DocLnk(f);
666 editor->setText(txt); 666 editor->setText(txt);
667 editor->setEdited( FALSE); 667 editor->setEdited( FALSE);
668 edited1=FALSE; 668 edited1=FALSE;
669 edited=FALSE; 669 edited=FALSE;
670 670
671 qDebug("openFile doclnk "+currentFileName); 671 qDebug("openFile doclnk "+currentFileName);
672 doc->setName(currentFileName); 672 doc->setName(currentFileName);
673 updateCaption(); 673 updateCaption();
674} 674}
675 675
676void TextEdit::showEditTools() 676void TextEdit::showEditTools()
677{ 677{
678// if ( !doc ) 678// if ( !doc )
679// close(); 679// close();
680// clear(); 680// clear();
681 menu->show(); 681 menu->show();
682 editBar->show(); 682 editBar->show();
683 if ( searchVisible ) 683 if ( searchVisible )
684 searchBar->show(); 684 searchBar->show();
685// updateCaption(); 685// updateCaption();
686 setWState (WState_Reserved1 ); 686 setWState (WState_Reserved1 );
687} 687}
688 688
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index 70cf068..af69518 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -1,120 +1,121 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of 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// additions made by L.J. Potter Sun 02-17-2002 22:27:46 20// additions made by L.J. Potter Sun 02-17-2002 22:27:46
21 21
22#ifndef TEXTEDIT_H 22#ifndef TEXTEDIT_H
23#define TEXTEDIT_H 23#define TEXTEDIT_H
24 24
25#define QTEXTEDIT_OPEN_API 25#define QTEXTEDIT_OPEN_API
26 26
27#include "fileBrowser.h" 27#include "fileBrowser.h"
28#include "fileSaver.h" 28#include "fileSaver.h"
29 29
30#include <qpe/filemanager.h> 30#include <qpe/filemanager.h>
31 31
32#include <qmainwindow.h> 32#include <qmainwindow.h>
33#include <qmultilineedit.h> 33#include <qmultilineedit.h>
34#include <qlist.h> 34#include <qlist.h>
35#include <qmap.h> 35#include <qmap.h>
36 36
37class QAction; 37class QAction;
38class QWidgetStack; 38class QWidgetStack;
39class QToolButton; 39class QToolButton;
40class QPopupMenu; 40class QPopupMenu;
41class QToolBar; 41class QToolBar;
42class QLineEdit; 42class QLineEdit;
43class QAction; 43class QAction;
44class FileSelector; 44class FileSelector;
45class QpeEditor; 45class QpeEditor;
46class QPopupMenu; 46class QPopupMenu;
47 47
48class TextEdit : public QMainWindow 48class TextEdit : public QMainWindow
49{ 49{
50 Q_OBJECT 50 Q_OBJECT
51 51
52public: 52public:
53 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 53 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
54 ~TextEdit(); 54 ~TextEdit();
55 QPopupMenu *font; 55
56 QPopupMenu *font;
56 QAction *nStart; 57 QAction *nStart;
57 bool edited, edited1; 58 bool edited, edited1;
58 void openFile( const QString & ); 59 void openFile( const QString & );
59public slots: 60public slots:
60 void editorChanged(); 61 void editorChanged();
61 62
62protected: 63protected:
63 void closeEvent( QCloseEvent *e ); 64 void closeEvent( QCloseEvent *e );
64 void doSearchBar(); 65 void doSearchBar();
65private slots: 66private slots:
66 void setDocument(const QString&); 67 void setDocument(const QString&);
67 void changeFont(); 68 void changeFont();
68 void fileNew(); 69 void fileNew();
69 void fileRevert(); 70 void fileRevert();
70 void fileOpen(); 71 void fileOpen();
71 void changeStartConfig(bool); 72 void changeStartConfig(bool);
72 bool save(); 73 bool save();
73 bool saveAs(); 74 bool saveAs();
74 void cleanUp(); 75 void cleanUp();
75 76
76 77
77 void editCut(); 78 void editCut();
78 void editCopy(); 79 void editCopy();
79 void editPaste(); 80 void editPaste();
80 void editFind(); 81 void editFind();
81 void editDelete(); 82 void editDelete();
82 83
83 void findNext(); 84 void findNext();
84 void findClose(); 85 void findClose();
85 86
86 void search(); 87 void search();
87 void accept(); 88 void accept();
88 89
89 void newFile( const DocLnk & ); 90 void newFile( const DocLnk & );
90 void openFile( const DocLnk & ); 91 void openFile( const DocLnk & );
91 void showEditTools(); 92 void showEditTools();
92 93
93 void zoomIn(); 94 void zoomIn();
94 void zoomOut(); 95 void zoomOut();
95 void setBold(bool y); 96 void setBold(bool y);
96 void setItalic(bool y); 97 void setItalic(bool y);
97 void setWordWrap(bool y); 98 void setWordWrap(bool y);
98 99
99private: 100private:
100 void colorChanged( const QColor &c ); 101 void colorChanged( const QColor &c );
101 void clear(); 102 void clear();
102 void updateCaption( const QString &name=QString::null ); 103 void updateCaption( const QString &name=QString::null );
103 void setFontSize(int sz, bool round_down_not_up); 104 void setFontSize(int sz, bool round_down_not_up);
104 105
105private: 106private:
106 fileSaver *fileSaveDlg; 107 fileSaver *fileSaveDlg;
107 fileBrowser *browseForFiles; 108 fileBrowser *browseForFiles;
108 109
109 QpeEditor* editor; 110 QpeEditor* editor;
110 QToolBar *menu, *editBar, *searchBar; 111 QToolBar *menu, *editBar, *searchBar;
111 QLineEdit *searchEdit; 112 QLineEdit *searchEdit;
112 DocLnk *doc; 113 DocLnk *doc;
113 bool searchVisible; 114 bool searchVisible;
114 bool bFromDocView; 115 bool bFromDocView;
115 int viewSelection; 116 int viewSelection;
116 QAction *zin, *zout; 117 QAction *zin, *zout;
117 QString currentFileName; 118 QString currentFileName;
118}; 119};
119 120
120#endif 121#endif