summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp59
-rw-r--r--core/apps/textedit/textedit.cpp75
-rw-r--r--core/apps/textedit/textedit.h2
3 files changed, 77 insertions, 59 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index f322513..fced326 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -1,333 +1,339 @@
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#define QTOPIA_INTERNAL_MIMEEXT
15#include "fileBrowser.h" 15#include "fileBrowser.h"
16//#include "inputDialog.h" 16//#include "inputDialog.h"
17 17
18#include <qpe/config.h> 18#include <qpe/config.h>
19#include <qpe/resource.h> 19#include <qpe/resource.h>
20#include <qpe/fileselector.h> 20#include <qpe/fileselector.h>
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22#include <qpe/menubutton.h> 22#include <qpe/menubutton.h>
23#include <qpe/mimetype.h> 23#include <qpe/mimetype.h>
24 24
25#include <qdict.h> 25#include <qdict.h>
26#include <qwidgetstack.h> 26#include <qwidgetstack.h>
27#include <qlistview.h> 27#include <qlistview.h>
28#include <qcombo.h> 28#include <qcombo.h>
29#include <qpushbutton.h> 29#include <qpushbutton.h>
30#include <qfile.h> 30#include <qfile.h>
31#include <qmessagebox.h> 31#include <qmessagebox.h>
32#include <qlayout.h> 32#include <qlayout.h>
33#include <unistd.h> 33#include <unistd.h>
34#include <qpopupmenu.h> 34#include <qpopupmenu.h>
35#include <qlineedit.h> 35#include <qlineedit.h>
36#include <qstringlist.h> 36#include <qstringlist.h>
37 37
38#include <unistd.h> 38#include <unistd.h>
39#include <stdlib.h> 39#include <stdlib.h>
40 40
41static int u_id = 1; 41static int u_id = 1;
42static int get_unique_id() 42static int get_unique_id()
43{ 43{
44 return u_id++; 44 return u_id++;
45} 45}
46 46
47fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter ) 47fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags fl , const QString mimeFilter )
48 : QDialog( parent, name, modal, fl ) 48 : QDialog( parent, name, modal, fl )
49{ 49{
50 if ( !name ) 50 if ( !name )
51 setName( "fileBrowser" ); 51 setName( "fileBrowser" );
52 setCaption(tr( name ) ); 52 setCaption(tr( name ) );
53// mimeType = mimeFilter;
54// MimeType mt( mimeType);
55// if( mt.extension().isEmpty())
56// QStringList filterList;
57// filterList=QStringList::split(";",mimeFilter,FALSE);
58// for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) {
59// printf( "%s \n", (*it).latin1() );
60// }
61 53
62 filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*"; 54// getMimeTypes();
55
56 mimeType = mimeFilter;
57 MimeType mt( mimeType);
58
59 if( mt.extension().isEmpty()) {
60
61 QStringList filterList;
62 filterList=QStringList::split(";",mimeFilter,FALSE);
63
64 for ( QStringList::Iterator it = filterList.begin(); it != filterList.end(); ++it ) {
65 printf( "%s \n", (*it).latin1() );
66 }
67
68 filterStr = mimeFilter.right(mimeFilter.length() - mimeFilter.find("/",0,TRUE) - 1);// "*";
63 69
64 qDebug(filterStr); 70 qDebug(filterStr);
65// else 71 } else {
66// filterStr = "*."+ mt.extension(); 72 filterStr = "*."+ mt.extension();
67// qDebug("description "+mt.description()); 73// qDebug("description "+mt.description());
68// qDebug( "id "+mt.id()); 74// qDebug( "id "+mt.id());
69// qDebug("extension "+mt.extension()); 75// qDebug("extension "+mt.extension());
70 76 }
71// channel = new QCopChannel( "QPE/fileDialog", this ); 77// channel = new QCopChannel( "QPE/fileDialog", this );
72// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)), 78// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
73// this, SLOT(receive(const QCString&, const QByteArray&)) ); 79// this, SLOT(receive(const QCString&, const QByteArray&)) );
74 80
75 QGridLayout *layout = new QGridLayout( this ); 81 QGridLayout *layout = new QGridLayout( this );
76 layout->setSpacing( 4 ); 82 layout->setSpacing( 4 );
77 layout->setMargin( 4 ); 83 layout->setMargin( 4 );
78 84
79 dirPathCombo = new QComboBox( FALSE, this, "dirPathCombo" ); 85 dirPathCombo = new QComboBox( FALSE, this, "dirPathCombo" );
80 dirPathCombo->setEditable(TRUE); 86 dirPathCombo->setEditable(TRUE);
81 87
82 connect( dirPathCombo, SIGNAL( activated( const QString & ) ), 88 connect( dirPathCombo, SIGNAL( activated( const QString & ) ),
83 this, SLOT( dirPathComboActivated( const QString & ) ) ); 89 this, SLOT( dirPathComboActivated( const QString & ) ) );
84 90
85 connect( dirPathCombo->lineEdit(), SIGNAL( returnPressed( ) ), 91 connect( dirPathCombo->lineEdit(), SIGNAL( returnPressed( ) ),
86 this, SLOT( dirPathEditPressed( ) ) ); 92 this, SLOT( dirPathEditPressed( ) ) );
87 93
88 dirPathStringList << "/"; 94 dirPathStringList << "/";
89// we can get the storage here 95// we can get the storage here
90 96
91 layout->addMultiCellWidget( dirPathCombo, 0, 0, 0, 4 ); 97 layout->addMultiCellWidget( dirPathCombo, 0, 0, 0, 4 );
92 98
93 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton"); 99 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
94 cdUpButton ->setMinimumSize( QSize( 20, 20 ) ); 100 cdUpButton ->setMinimumSize( QSize( 20, 20 ) );
95 cdUpButton ->setMaximumSize( QSize( 20, 20 ) ); 101 cdUpButton ->setMaximumSize( QSize( 20, 20 ) );
96 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) ); 102 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
97 cdUpButton ->setFlat(TRUE); 103 cdUpButton ->setFlat(TRUE);
98 layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 ); 104 layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 );
99 105
100 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton"); 106 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
101 docButton->setMinimumSize( QSize( 20, 20 ) ); 107 docButton->setMinimumSize( QSize( 20, 20 ) );
102 docButton->setMaximumSize( QSize( 20, 20 ) ); 108 docButton->setMaximumSize( QSize( 20, 20 ) );
103 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 109 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
104 docButton->setFlat(TRUE); 110 docButton->setFlat(TRUE);
105 layout->addMultiCellWidget( docButton, 0, 0, 6, 6 ); 111 layout->addMultiCellWidget( docButton, 0, 0, 6, 6 );
106 112
107 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton"); 113 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
108 homeButton->setMinimumSize( QSize( 20, 20 ) ); 114 homeButton->setMinimumSize( QSize( 20, 20 ) );
109 homeButton->setMaximumSize( QSize( 20, 20 ) ); 115 homeButton->setMaximumSize( QSize( 20, 20 ) );
110 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 116 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
111 homeButton->setFlat(TRUE); 117 homeButton->setFlat(TRUE);
112 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 ); 118 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 );
113 119
114 FileStack = new QWidgetStack( this ); 120 FileStack = new QWidgetStack( this );
115 121
116 ListView = new QListView( this, "ListView" ); 122 ListView = new QListView( this, "ListView" );
117// ListView->setMinimumSize( QSize( 100, 25 ) ); 123// ListView->setMinimumSize( QSize( 100, 25 ) );
118 ListView->addColumn( tr( "Name" ) ); 124 ListView->addColumn( tr( "Name" ) );
119 ListView->setColumnWidth(0,120); 125 ListView->setColumnWidth(0,120);
120 ListView->setSorting( 2, FALSE); 126 ListView->setSorting( 2, FALSE);
121 ListView->addColumn( tr( "Size" ) ); 127 ListView->addColumn( tr( "Size" ) );
122 ListView->setColumnWidth(1,-1); 128 ListView->setColumnWidth(1,-1);
123 ListView->addColumn( "Date",-1); 129 ListView->addColumn( "Date",-1);
124 130
125 ListView->setColumnWidthMode(0,QListView::Manual); 131 ListView->setColumnWidthMode(0,QListView::Manual);
126 ListView->setColumnAlignment(1,QListView::AlignRight); 132 ListView->setColumnAlignment(1,QListView::AlignRight);
127 ListView->setColumnAlignment(2,QListView::AlignRight); 133 ListView->setColumnAlignment(2,QListView::AlignRight);
128 ListView->setAllColumnsShowFocus( TRUE ); 134 ListView->setAllColumnsShowFocus( TRUE );
129 135
130 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); 136 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
131 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 137 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
132 this, SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 138 this, SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
133 139
134 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 140 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
135 141
136 FileStack->addWidget( ListView, get_unique_id() ); 142 FileStack->addWidget( ListView, get_unique_id() );
137mimeType="text/plain"; 143mimeType="text/plain";
138 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy 144 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
139// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) ); 145// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
140// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 146// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
141 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), 147 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ),
142 this, SLOT( docOpen( const DocLnk & ) ) ); 148 this, SLOT( docOpen( const DocLnk & ) ) );
143 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 ); 149 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 );
144 150
145 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" ); 151 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
146 SelectionCombo->insertItem( tr( "Documents" ) ); 152 SelectionCombo->insertItem( tr( "Documents" ) );
147 SelectionCombo->insertItem( tr( "All files" ) ); 153 SelectionCombo->insertItem( tr( "All files" ) );
148 SelectionCombo->insertItem( tr( "Hidden files" ) ); 154 SelectionCombo->insertItem( tr( "Hidden files" ) );
149// SelectionCombo->setMaximumWidth(120); 155// SelectionCombo->setMaximumWidth(120);
150 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 3 ); 156 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 3 );
151 157
152 connect( SelectionCombo, SIGNAL( activated( const QString & ) ), 158 connect( SelectionCombo, SIGNAL( activated( const QString & ) ),
153 this, SLOT( selectionChanged( const QString & ) ) ); 159 this, SLOT( selectionChanged( const QString & ) ) );
154 160
155 typemb = new MenuButton(this); 161 typemb = new MenuButton(this);
156 typemb->setLabel(tr("Type: %1")); 162 typemb->setLabel(tr("Type: %1"));
157 typemb->setMinimumWidth(110); 163 typemb->setMinimumWidth(110);
158 typemb->setFixedHeight(22); 164 typemb->setFixedHeight(22);
159 layout->addMultiCellWidget( typemb, 2, 2, 4, 7 ); 165 layout->addMultiCellWidget( typemb, 2, 2, 4, 7 );
160 updateMimeTypeMenu() ; 166 updateMimeTypeMenu() ;
161 167
162 currentDir.setPath(QDir::currentDirPath()); 168 currentDir.setPath(QDir::currentDirPath());
163 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All); 169 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
164 currentDir.setNameFilter(filterStr); 170 currentDir.setNameFilter(filterStr);
165 171
166 populateList(); 172 populateList();
167 move(0,15); 173 move(0,15);
168} 174}
169 175
170fileBrowser::~fileBrowser() 176fileBrowser::~fileBrowser()
171{ 177{
172} 178}
173 179
174void fileBrowser::setFileView( int selection ) 180void fileBrowser::setFileView( int selection )
175{ 181{
176 SelectionCombo->setCurrentItem( selection ); 182 SelectionCombo->setCurrentItem( selection );
177 selectionChanged( SelectionCombo->currentText() ); 183 selectionChanged( SelectionCombo->currentText() );
178} 184}
179 185
180void fileBrowser::populateList() 186void fileBrowser::populateList()
181{ 187{
182 ListView->clear(); 188 ListView->clear();
183 QListViewItem * item; 189 QListViewItem * item;
184 bool isDir=FALSE; 190 bool isDir=FALSE;
185//qDebug(currentDir.canonicalPath()); 191//qDebug(currentDir.canonicalPath());
186 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 192 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
187 currentDir.setMatchAllDirs(TRUE); 193 currentDir.setMatchAllDirs(TRUE);
188 194
189// currentDir.setNameFilter("*.txt;*.etx"); 195// currentDir.setNameFilter("*.txt;*.etx");
190 QString fileL, fileS, fileDate; 196 QString fileL, fileS, fileDate;
191 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/); 197 const QFileInfoList *list = currentDir.entryInfoList( /*QDir::All*/ /*, QDir::SortByMask*/);
192 QFileInfoListIterator it(*list); 198 QFileInfoListIterator it(*list);
193 QFileInfo *fi; 199 QFileInfo *fi;
194 while ( (fi=it.current()) ) { 200 while ( (fi=it.current()) ) {
195 if (fi->isSymLink() ){ 201 if (fi->isSymLink() ){
196 QString symLink=fi->readLink(); 202 QString symLink=fi->readLink();
197// qDebug("Symlink detected "+symLink); 203// qDebug("Symlink detected "+symLink);
198 QFileInfo sym( symLink); 204 QFileInfo sym( symLink);
199 fileS.sprintf( "%10li", sym.size() ); 205 fileS.sprintf( "%10li", sym.size() );
200 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() ); 206 fileL.sprintf( "%s -> %s", sym.fileName().data(),sym.absFilePath().data() );
201 fileDate = sym.lastModified().toString(); 207 fileDate = sym.lastModified().toString();
202 } else { 208 } else {
203// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 209// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
204 fileS.sprintf( "%10li", fi->size() ); 210 fileS.sprintf( "%10li", fi->size() );
205 fileL.sprintf( "%s",fi->fileName().data() ); 211 fileL.sprintf( "%s",fi->fileName().data() );
206 fileDate= fi->lastModified().toString(); 212 fileDate= fi->lastModified().toString();
207 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) { 213 if( QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+fileL)).exists() ) {
208 fileL+="/"; 214 fileL+="/";
209 isDir=TRUE; 215 isDir=TRUE;
210// qDebug( fileL); 216// qDebug( fileL);
211 } 217 }
212 } 218 }
213 if(fileL !="./" && fi->exists()) { 219 if(fileL !="./" && fi->exists()) {
214 item= new QListViewItem( ListView,fileL,fileS , fileDate); 220 item= new QListViewItem( ListView,fileL,fileS , fileDate);
215 QPixmap pm; 221 QPixmap pm;
216 222
217 if(isDir || fileL.find("/",0,TRUE) != -1) { 223 if(isDir || fileL.find("/",0,TRUE) != -1) {
218 if( !QDir( fi->filePath() ).isReadable()) 224 if( !QDir( fi->filePath() ).isReadable())
219 pm = Resource::loadPixmap( "lockedfolder" ); 225 pm = Resource::loadPixmap( "lockedfolder" );
220 else 226 else
221 pm= Resource::loadPixmap( "folder" ); 227 pm= Resource::loadPixmap( "folder" );
222 item->setPixmap( 0,pm ); 228 item->setPixmap( 0,pm );
223 } else { 229 } else {
224 if( !fi->isReadable() ) 230 if( !fi->isReadable() )
225 pm = Resource::loadPixmap( "locked" ); 231 pm = Resource::loadPixmap( "locked" );
226 else { 232 else {
227 MimeType mt(fi->filePath()); 233 MimeType mt(fi->filePath());
228 pm=mt.pixmap();// sets the pixmap for the mimetype 234 pm=mt.pixmap();// sets the pixmap for the mimetype
229 if(pm.isNull()) 235 if(pm.isNull())
230 pm = Resource::loadPixmap( "UnknownDocument-14" ); 236 pm = Resource::loadPixmap( "UnknownDocument-14" );
231 item->setPixmap( 0,pm); 237 item->setPixmap( 0,pm);
232 } 238 }
233 } 239 }
234 if( fileL.find("->",0,TRUE) != -1) { 240 if( fileL.find("->",0,TRUE) != -1) {
235 // overlay link image 241 // overlay link image
236 pm= Resource::loadPixmap( "folder" ); 242 pm= Resource::loadPixmap( "folder" );
237 QPixmap lnk = Resource::loadPixmap( "symlink" ); 243 QPixmap lnk = Resource::loadPixmap( "opie/symlink" );
238 QPainter painter( &pm ); 244 QPainter painter( &pm );
239 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); 245 painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk );
240 pm.setMask( pm.createHeuristicMask( FALSE ) ); 246 pm.setMask( pm.createHeuristicMask( FALSE ) );
241 item->setPixmap( 0, pm); 247 item->setPixmap( 0, pm);
242 } 248 }
243 } 249 }
244 isDir=FALSE; 250 isDir=FALSE;
245 ++it; 251 ++it;
246// } 252// }
247 } 253 }
248 ListView->setSorting( 3, FALSE); 254 ListView->setSorting( 3, FALSE);
249 QString currentPath = currentDir.canonicalPath(); 255 QString currentPath = currentDir.canonicalPath();
250 256
251 fillCombo( (const QString &)currentPath); 257 fillCombo( (const QString &)currentPath);
252// dirPathCombo->lineEdit()->setText(currentPath); 258// dirPathCombo->lineEdit()->setText(currentPath);
253 259
254// if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 260// if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
255// dirPathCombo->clear(); 261// dirPathCombo->clear();
256// dirPathStringList.prepend(currentPath ); 262// dirPathStringList.prepend(currentPath );
257// dirPathCombo->insertStringList( dirPathStringList,-1); 263// dirPathCombo->insertStringList( dirPathStringList,-1);
258// } 264// }
259} 265}
260 266
261void fileBrowser::upDir() 267void fileBrowser::upDir()
262{ 268{
263 QString current = currentDir.canonicalPath(); 269 QString current = currentDir.canonicalPath();
264 QDir dir(current); 270 QDir dir(current);
265 dir.cdUp(); 271 dir.cdUp();
266 current = dir.canonicalPath(); 272 current = dir.canonicalPath();
267 chdir( current.latin1() ); 273 chdir( current.latin1() );
268 currentDir.cd( current, TRUE); 274 currentDir.cd( current, TRUE);
269 populateList(); 275 populateList();
270 update(); 276 update();
271} 277}
272 278
273// you may want to switch these 2 functions. I like single clicks 279// you may want to switch these 2 functions. I like single clicks
274void fileBrowser::listClicked(QListViewItem *selectedItem) 280void fileBrowser::listClicked(QListViewItem *selectedItem)
275{ 281{
276 if(selectedItem) { 282 if(selectedItem) {
277 QString strItem=selectedItem->text(0); 283 QString strItem=selectedItem->text(0);
278 QString strSize=selectedItem->text(1); 284 QString strSize=selectedItem->text(1);
279// qDebug("strItem is "+strItem); 285// qDebug("strItem is "+strItem);
280 strSize.stripWhiteSpace(); 286 strSize.stripWhiteSpace();
281// qDebug(strSize); 287// qDebug(strSize);
282 288
283 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink 289 if(strItem.find("@",0,TRUE) !=-1 || strItem.find("->",0,TRUE) !=-1 ) { //if symlink
284 // is symlink 290 // is symlink
285 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4); 291 QString strItem2=strItem.right( (strItem.length()-strItem.find("->",0,TRUE)) -4);
286// qDebug("strItem symlink is "+strItem2); 292// qDebug("strItem symlink is "+strItem2);
287 if(QDir(strItem2).exists() ) { 293 if(QDir(strItem2).exists() ) {
288 currentDir.cd(strItem2, TRUE); 294 currentDir.cd(strItem2, TRUE);
289 populateList(); 295 populateList();
290 } 296 }
291 } else { // not a symlink 297 } else { // not a symlink
292 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) { 298 if(strItem.find(". .",0,TRUE) && strItem.find("/",0,TRUE)!=-1 ) {
293 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) { 299 if(QDir(QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem)).exists() ) {
294 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 300 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
295 currentDir.cd(strItem,FALSE); 301 currentDir.cd(strItem,FALSE);
296// qDebug("Path is "+strItem); 302// qDebug("Path is "+strItem);
297 populateList(); 303 populateList();
298 } else { 304 } else {
299 currentDir.cdUp(); 305 currentDir.cdUp();
300 populateList(); 306 populateList();
301 } 307 }
302 if(QDir(strItem).exists()){ 308 if(QDir(strItem).exists()){
303 currentDir.cd(strItem, TRUE); 309 currentDir.cd(strItem, TRUE);
304 populateList(); 310 populateList();
305 } 311 }
306 } else { 312 } else {
307 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem); 313 strItem=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+strItem);
308 if( QFile::exists(strItem ) ) { 314 if( QFile::exists(strItem ) ) {
309//currentDir.canonicalPath() 315//currentDir.canonicalPath()
310 qDebug("We found our files!!"+strItem); 316 qDebug("We found our files!!"+strItem);
311 OnOK(); 317 OnOK();
312 } 318 }
313 } //end not symlink 319 } //end not symlink
314 chdir(strItem.latin1()); 320 chdir(strItem.latin1());
315 } 321 }
316 } 322 }
317} 323}
318 324
319void fileBrowser::OnOK() 325void fileBrowser::OnOK()
320{ 326{
321 QListViewItemIterator it1( ListView); 327 QListViewItemIterator it1( ListView);
322 for ( ; it1.current(); ++it1 ) { 328 for ( ; it1.current(); ++it1 ) {
323 if ( it1.current()->isSelected() ) { 329 if ( it1.current()->isSelected() ) {
324 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0)); 330 selectedFileName=QDir::cleanDirPath(currentDir.canonicalPath()+"/"+it1.current()->text(0));
325 qDebug("selected filename is "+selectedFileName); 331 qDebug("selected filename is "+selectedFileName);
326 fileList.append( selectedFileName ); 332 fileList.append( selectedFileName );
327 } 333 }
328 } 334 }
329 accept(); 335 accept();
330} 336}
331 337
332void fileBrowser::homeButtonPushed() { 338void fileBrowser::homeButtonPushed() {
333 QString current = QDir::homeDirPath(); 339 QString current = QDir::homeDirPath();
@@ -399,227 +405,230 @@ void fileBrowser::showListMenu(QListViewItem *item) {
399 m.insertSeparator(); 405 m.insertSeparator();
400 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 406 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
401 } else { 407 } else {
402 m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() )); 408 m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() ));
403 m.insertItem( tr( "Rescan" ), this, SLOT( populateList() )); 409 m.insertItem( tr( "Rescan" ), this, SLOT( populateList() ));
404 410
405 } 411 }
406 m.exec( QCursor::pos() ); 412 m.exec( QCursor::pos() );
407} 413}
408 414
409void fileBrowser::doCd() { 415void fileBrowser::doCd() {
410 listClicked( ListView->currentItem()); 416 listClicked( ListView->currentItem());
411} 417}
412 418
413void fileBrowser::makDir() { 419void fileBrowser::makDir() {
414 InputDialog *fileDlg; 420 InputDialog *fileDlg;
415 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0); 421 fileDlg = new InputDialog(this,"Make Directory",TRUE, 0);
416 fileDlg->exec(); 422 fileDlg->exec();
417 if( fileDlg->result() == 1 ) { 423 if( fileDlg->result() == 1 ) {
418 QString filename = fileDlg->LineEdit1->text(); 424 QString filename = fileDlg->LineEdit1->text();
419 qDebug("Make dir"); 425 qDebug("Make dir");
420 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename); 426 currentDir.mkdir( currentDir.canonicalPath()+"/"+filename);
421 } 427 }
422 populateList(); 428 populateList();
423} 429}
424 430
425void fileBrowser::localRename() { 431void fileBrowser::localRename() {
426 QString curFile = ListView->currentItem()->text(0); 432 QString curFile = ListView->currentItem()->text(0);
427 InputDialog *fileDlg; 433 InputDialog *fileDlg;
428 fileDlg = new InputDialog(this,"Rename",TRUE, 0); 434 fileDlg = new InputDialog(this,"Rename",TRUE, 0);
429 fileDlg->setTextEdit((const QString &) curFile); 435 fileDlg->setTextEdit((const QString &) curFile);
430 fileDlg->exec(); 436 fileDlg->exec();
431 if( fileDlg->result() == 1 ) { 437 if( fileDlg->result() == 1 ) {
432 QString oldname = currentDir.canonicalPath() + "/" + curFile; 438 QString oldname = currentDir.canonicalPath() + "/" + curFile;
433 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist"; 439 QString newName = currentDir.canonicalPath() + "/" + fileDlg->LineEdit1->text();//+".playlist";
434 if( rename(oldname.latin1(), newName.latin1())== -1) 440 if( rename(oldname.latin1(), newName.latin1())== -1)
435 QMessageBox::message("Note","Could not rename"); 441 QMessageBox::message("Note","Could not rename");
436 } 442 }
437 populateList(); 443 populateList();
438} 444}
439 445
440void fileBrowser::localDelete() { 446void fileBrowser::localDelete() {
441 QString f = ListView->currentItem()->text(0); 447 QString f = ListView->currentItem()->text(0);
442 if(QDir(f).exists() ) { 448 if(QDir(f).exists() ) {
443 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+ 449 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f+
444 " ?\nIt must be empty","Yes","No",0,0,1) ) { 450 " ?\nIt must be empty","Yes","No",0,0,1) ) {
445 case 0: { 451 case 0: {
446 f=currentDir.canonicalPath()+"/"+f; 452 f=currentDir.canonicalPath()+"/"+f;
447 QString cmd="rmdir "+f; 453 QString cmd="rmdir "+f;
448 system( cmd.latin1()); 454 system( cmd.latin1());
449 populateList(); 455 populateList();
450 } 456 }
451 break; 457 break;
452 case 1: 458 case 1:
453 // exit 459 // exit
454 break; 460 break;
455 }; 461 };
456 } else { 462 } else {
457 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f 463 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f
458 +" ?","Yes","No",0,0,1) ) { 464 +" ?","Yes","No",0,0,1) ) {
459 case 0: { 465 case 0: {
460 f=currentDir.canonicalPath()+"/"+f; 466 f=currentDir.canonicalPath()+"/"+f;
461 QString cmd="rm "+f; 467 QString cmd="rm "+f;
462 system( cmd.latin1()); 468 system( cmd.latin1());
463 populateList(); 469 populateList();
464 } 470 }
465 break; 471 break;
466 case 1: 472 case 1:
467 // exit 473 // exit
468 break; 474 break;
469 }; 475 };
470 } 476 }
471} 477}
472 478
473void fileBrowser::updateMimeTypeMenu() { 479void fileBrowser::updateMimeTypeMenu() {
474 480
475 disconnect( typemb, SIGNAL(selected(const QString&)), 481 disconnect( typemb, SIGNAL(selected(const QString&)),
476 this, SLOT(showType(const QString&)) ); 482 this, SLOT(showType(const QString&)) );
477 483
478 QString prev; 484 QString prev;
479 485
480 // Type filter 486 // Type filter
481 QStringList types; 487 QStringList types;
482 types << tr("All"); 488 types << tr("All");
483 types << "--"; 489 types << "--";
484 types += getMimeTypes(); 490 types += getMimeTypes();
485 prev = typemb->currentText(); 491 prev = typemb->currentText();
486 typemb->clear(); 492 typemb->clear();
487 typemb->insertItems(types); 493 typemb->insertItems(types);
488 // typemb->select(prev); 494 // typemb->select(prev);
489 495
490 connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&))); 496 connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&)));
491} 497}
492 498
493void fileBrowser::showType(const QString &t) { 499void fileBrowser::showType(const QString &t) {
494 500
495 qDebug(t); 501// qDebug("Show type "+t);
496 if(t.find("All",0,TRUE) != -1) { 502 if(t.find("All",0,TRUE) != -1) {
497 filterStr = "*"; 503 filterStr = "*";
498 } else { 504 } else {
499 QStringList list = mimetypes.grep( t,TRUE); 505 QStringList list = mimetypes.grep( t,TRUE);
500 QString ext; 506 QString ext;
501 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { 507 for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it ) {
502 mimeType =(*it); 508 mimeType =(*it);
503 MimeType mt( mimeType); 509 MimeType mt(mimeType);
504// qDebug("mime "+mimeType); 510
505// qDebug("description "+mt.description()); 511// qDebug("mime "+mimeType);
506// qDebug( "id "+mt.id()); 512// qDebug("description "+mt.description());
507// qDebug("extension "+mt.extension()); 513// qDebug( "id "+mt.id());
508// if( mt.extension().isEmpty()) 514// qDebug("extension "+mt.extension());
515
516 if( mt.extension().isEmpty())
509 filterStr = "*"; 517 filterStr = "*";
510// else 518 else
511// filterStr = "*."+ mt.extension()+" "; 519 filterStr = "*."+ mt.extension()+" ";
512// printf( "%s \n", (*it).latin1() ); 520// printf( "%s \n", (*it).latin1() );
513 } 521 }
514 } 522 }
515 currentDir.setNameFilter(filterStr); 523 currentDir.setNameFilter(filterStr);
516 524
517 populateList(); 525 populateList();
518 update(); 526 update();
519// if(fileSelector) { 527// if(fileSelector) {
520// disconnect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) ); 528// disconnect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
521// delete fileSelector; 529// delete fileSelector;
522 // } 530 // }
523 // fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy 531 // fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
524// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) ); 532// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
525// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 533// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
526 // connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) ); 534 // connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
527// fileSelector->reread(); 535// fileSelector->reread();
528// if ( t == tr("All") ) { 536// if ( t == tr("All") ) {
529// icons->setTypeFilter("",TRUE); 537// icons->setTypeFilter("",TRUE);
530// } else { 538// } else {
531// icons->setTypeFilter(t+"/*",TRUE); 539// icons->setTypeFilter(t+"/*",TRUE);
532// } 540// }
533 541
534} 542}
535 543
536QStringList fileBrowser::getMimeTypes() { 544QStringList fileBrowser::getMimeTypes() {
537 545
538 QStringList r; 546 QStringList r;
539 AppLnkSet apps( QPEApplication::qpeDir() + "apps" ); 547 AppLnkSet apps( QPEApplication::qpeDir() + "apps" );
540 QFile file( QPEApplication::qpeDir()+"etc/available.mime"); 548 QFile file( QPEApplication::qpeDir()+"etc/available.mime");
541 file.open( IO_WriteOnly|IO_Truncate);//) 549 file.open( IO_WriteOnly|IO_Truncate);//)
542 for ( QListIterator<AppLnk> it( apps.children() ); it.current(); ++it ) { 550 for ( QListIterator<AppLnk> it( apps.children() ); it.current(); ++it ) {
543 AppLnk* l; 551 AppLnk* l;
544 l = it.current(); 552 l = it.current();
545 QStringList maj = l->mimeTypes(); 553 QStringList maj = l->mimeTypes();
546 QStringList::ConstIterator f; 554 QStringList::ConstIterator f;
547 for ( f = maj.begin(); f != maj.end(); f++ ) { 555 for ( f = maj.begin(); f != maj.end(); f++ ) {
548 QString temp = *f; 556 QString temp = *f;
557 qDebug("type "+temp);
549 mimetypes << temp; 558 mimetypes << temp;
550 int sl = temp.find('/'); 559 int sl = temp.find('/');
551 if (sl >= 0) { 560 if (sl >= 0) {
552 QString k = temp.left(sl); 561 QString k = temp;//.left(sl);
553 if( r.grep(k,TRUE).isEmpty() ) { 562 if( r.grep(k,TRUE).isEmpty() ) {
554 r << k; 563 r << k;
555 k+="\n"; 564 k+="\n";
556 file.writeBlock( k.latin1(), k.length()); 565 file.writeBlock( k.latin1(), k.length());
557 } 566 }
558 } 567 }
559 } 568 }
560 } 569 }
561 r.sort(); 570 r.sort();
562 file.close(); 571 file.close();
563 return r; 572 return r;
564} 573}
565 574
566void fileBrowser::receive( const QCString &msg, const QByteArray &data ) { 575void fileBrowser::receive( const QCString &msg, const QByteArray &data ) {
567// QDataStream stream( data, IO_ReadOnly ); 576// QDataStream stream( data, IO_ReadOnly );
568// if (msg == "keyRegister(int key, QString channel, QString message)") 577// if (msg == "keyRegister(int key, QString channel, QString message)")
569// { 578// {
570// int k; 579// int k;
571// QString c, m; 580// QString c, m;
572// stream >> k; 581// stream >> k;
573// stream >> c; 582// stream >> c;
574// stream >> m; 583// stream >> m;
575} 584}
576 585
577void fileBrowser::dirPathComboActivated( const QString & current) { 586void fileBrowser::dirPathComboActivated( const QString & current) {
578 chdir( current.latin1() ); 587 chdir( current.latin1() );
579 currentDir.cd( current, TRUE); 588 currentDir.cd( current, TRUE);
580 populateList(); 589 populateList();
581 update(); 590 update();
582} 591}
583 592
584void fileBrowser::dirPathEditPressed() { 593void fileBrowser::dirPathEditPressed() {
585 QString current = dirPathCombo->lineEdit()->text(); 594 QString current = dirPathCombo->lineEdit()->text();
586 chdir( current.latin1() ); 595 chdir( current.latin1() );
587 currentDir.cd( current, TRUE); 596 currentDir.cd( current, TRUE);
588 populateList(); 597 populateList();
589 update(); 598 update();
590} 599}
591 600
592void fileBrowser::fillCombo(const QString &currentPath) { 601void fileBrowser::fillCombo(const QString &currentPath) {
593 602
594 dirPathCombo->lineEdit()->setText(currentPath); 603 dirPathCombo->lineEdit()->setText(currentPath);
595 604
596 if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) { 605 if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
597 dirPathCombo->clear(); 606 dirPathCombo->clear();
598 dirPathStringList.prepend(currentPath ); 607 dirPathStringList.prepend(currentPath );
599 dirPathCombo->insertStringList( dirPathStringList,-1); 608 dirPathCombo->insertStringList( dirPathStringList,-1);
600 } 609 }
601} 610}
602 611
603 612
604InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl ) 613InputDialog::InputDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
605 : QDialog( parent, name, modal, fl ) 614 : QDialog( parent, name, modal, fl )
606{ 615{
607 if ( !name ) 616 if ( !name )
608 setName( "InputDialog" ); 617 setName( "InputDialog" );
609 resize( 234, 50 ); 618 resize( 234, 50 );
610 setMaximumSize( QSize( 240, 50 ) ); 619 setMaximumSize( QSize( 240, 50 ) );
611 setCaption( tr(name ) ); 620 setCaption( tr(name ) );
612 621
613 LineEdit1 = new QLineEdit( this, "LineEdit1" ); 622 LineEdit1 = new QLineEdit( this, "LineEdit1" );
614 LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) ); 623 LineEdit1->setGeometry( QRect( 10, 10, 216, 22 ) );
615} 624}
616 625
617InputDialog::~InputDialog() 626InputDialog::~InputDialog()
618{ 627{
619 inputText= LineEdit1->text(); 628 inputText= LineEdit1->text();
620 629
621} 630}
622 631
623void InputDialog::setTextEdit(const QString &string) { 632void InputDialog::setTextEdit(const QString &string) {
624 LineEdit1->setText(string); 633 LineEdit1->setText(string);
625} 634}
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 18402d4..84888c1 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -408,225 +408,234 @@ TextEdit::TextEdit( QWidget *parent, const char *name, WFlags f )
408 cfg.setGroup("View"); 408 cfg.setGroup("View");
409 if(cfg.readEntry("startNew","TRUE") == "TRUE") { 409 if(cfg.readEntry("startNew","TRUE") == "TRUE") {
410 nStart->setOn(TRUE); 410 nStart->setOn(TRUE);
411 fileNew(); 411 fileNew();
412 } else { 412 } else {
413 fileOpen(); 413 fileOpen();
414 } 414 }
415 viewSelection = cfg.readNumEntry( "FileView", 0 ); 415 viewSelection = cfg.readNumEntry( "FileView", 0 );
416} 416}
417 417
418void TextEdit::cleanUp() 418void TextEdit::cleanUp()
419{ 419{
420// save(); 420// save();
421 Config cfg("TextEdit"); 421 Config cfg("TextEdit");
422 cfg.setGroup("View"); 422 cfg.setGroup("View");
423 QFont f = editor->font(); 423 QFont f = editor->font();
424 cfg.writeEntry("FontSize",f.pointSize()); 424 cfg.writeEntry("FontSize",f.pointSize());
425 cfg.writeEntry("Bold",f.bold()); 425 cfg.writeEntry("Bold",f.bold());
426 cfg.writeEntry("Italic",f.italic()); 426 cfg.writeEntry("Italic",f.italic());
427 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth); 427 cfg.writeEntry("Wrap",editor->wordWrap() == QMultiLineEdit::WidgetWidth);
428 cfg.writeEntry( "FileView", viewSelection ); 428 cfg.writeEntry( "FileView", viewSelection );
429 429
430} 430}
431 431
432TextEdit::~TextEdit() 432TextEdit::~TextEdit()
433{ 433{
434} 434}
435 435
436void TextEdit::zoomIn() 436void TextEdit::zoomIn()
437{ 437{
438 setFontSize(editor->font().pointSize()+1,FALSE); 438 setFontSize(editor->font().pointSize()+1,FALSE);
439} 439}
440 440
441void TextEdit::zoomOut() 441void TextEdit::zoomOut()
442{ 442{
443 setFontSize(editor->font().pointSize()-1,TRUE); 443 setFontSize(editor->font().pointSize()-1,TRUE);
444} 444}
445 445
446 446
447void TextEdit::setFontSize(int sz, bool round_down_not_up) 447void TextEdit::setFontSize(int sz, bool round_down_not_up)
448{ 448{
449 int s=10; 449 int s=10;
450 for (int i=0; i<nfontsizes; i++) { 450 for (int i=0; i<nfontsizes; i++) {
451 if ( fontsize[i] == sz ) { 451 if ( fontsize[i] == sz ) {
452 s = sz; 452 s = sz;
453 break; 453 break;
454 } else if ( round_down_not_up ) { 454 } else if ( round_down_not_up ) {
455 if ( fontsize[i] < sz ) 455 if ( fontsize[i] < sz )
456 s = fontsize[i]; 456 s = fontsize[i];
457 } else { 457 } else {
458 if ( fontsize[i] > sz ) { 458 if ( fontsize[i] > sz ) {
459 s = fontsize[i]; 459 s = fontsize[i];
460 break; 460 break;
461 } 461 }
462 } 462 }
463 } 463 }
464 464
465 QFont f = editor->font(); 465 QFont f = editor->font();
466 f.setPointSize(s); 466 f.setPointSize(s);
467 editor->setFont(f); 467 editor->setFont(f);
468 468
469 zin->setEnabled(s != fontsize[nfontsizes-1]); 469 zin->setEnabled(s != fontsize[nfontsizes-1]);
470 zout->setEnabled(s != fontsize[0]); 470 zout->setEnabled(s != fontsize[0]);
471} 471}
472 472
473void TextEdit::setBold(bool y) 473void TextEdit::setBold(bool y)
474{ 474{
475 QFont f = editor->font(); 475 QFont f = editor->font();
476 f.setBold(y); 476 f.setBold(y);
477 editor->setFont(f); 477 editor->setFont(f);
478} 478}
479 479
480void TextEdit::setItalic(bool y) 480void TextEdit::setItalic(bool y)
481{ 481{
482 QFont f = editor->font(); 482 QFont f = editor->font();
483 f.setItalic(y); 483 f.setItalic(y);
484 editor->setFont(f); 484 editor->setFont(f);
485} 485}
486 486
487void TextEdit::setWordWrap(bool y) 487void TextEdit::setWordWrap(bool y)
488{ 488{
489 bool state = editor->edited(); 489 bool state = editor->edited();
490 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap ); 490 editor->setWordWrap(y ? QMultiLineEdit::WidgetWidth : QMultiLineEdit::NoWrap );
491 editor->setEdited( state ); 491 editor->setEdited( state );
492} 492}
493 493
494void TextEdit::fileNew() 494void TextEdit::fileNew()
495{ 495{
496// if( !bFromDocView ) { 496// if( !bFromDocView ) {
497// saveAs(); 497// saveAs();
498// } 498// }
499 newFile(DocLnk()); 499 newFile(DocLnk());
500} 500}
501 501
502void TextEdit::fileOpen() 502void TextEdit::fileOpen()
503{ 503{
504 QString str = OFileDialog::getOpenFileName(1,"/","", QStringList() , this ); 504 Config cfg("TextEdit");
505 if(!str.isEmpty() ) 505 cfg.setGroup("View");
506 openFile( str ); 506 bool b=FALSE;
507// browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); // 507 if(cfg.readEntry("useOldFileDialog") == "TRUE")
508// browseForFiles->setFileView( viewSelection ); 508 b=TRUE;
509// browseForFiles->showMaximized(); 509 if(!b) {
510// // if( result != -1 ) 510 QString str = OFileDialog::getOpenFileName( 1,"/","", "text/plain", this );
511 511 if(!str.isEmpty() )
512// if( browseForFiles->exec() != -1 ) { 512 openFile( str );
513// QString selFile = browseForFiles->selectedFileName; 513 } else {
514// QStringList fileList = browseForFiles->fileList; 514 QString str;
515// qDebug(selFile); 515 browseForFiles = new fileBrowser(this,tr("Open File"),TRUE,0, "text/*"); //
516// QStringList::ConstIterator f; 516 browseForFiles->setFileView( viewSelection );
517// QString fileTemp; 517 browseForFiles->showMaximized();
518// for ( f = fileList.begin(); f != fileList.end(); f++ ) { 518// if( result != -1 )
519// fileTemp = *f; 519
520// fileTemp.right( fileTemp.length()-5); 520 if( browseForFiles->exec() != -1 ) {
521// QString fileName = fileTemp; 521 QString selFile = browseForFiles->selectedFileName;
522// if( fileName != "Unnamed" || fileName != "Empty Text" ) { 522 QStringList fileList = browseForFiles->fileList;
523// currentFileName = fileName; 523 qDebug(selFile);
524// qDebug("please open "+currentFileName); 524 QStringList::ConstIterator f;
525// openFile(str ); 525 QString fileTemp;
526// } 526 for ( f = fileList.begin(); f != fileList.end(); f++ ) {
527// } 527 fileTemp = *f;
528// viewSelection = browseForFiles->SelectionCombo->currentItem(); 528 fileTemp.right( fileTemp.length()-5);
529// } 529 QString fileName = fileTemp;
530// delete browseForFiles; 530 if( fileName != "Unnamed" || fileName != "Empty Text" ) {
531// editor->setEdited( FALSE); 531 currentFileName = fileName;
532// edited1=FALSE; 532 qDebug("please open "+currentFileName);
533// edited=FALSE; 533 openFile(str );
534// if(caption().left(1)=="*") 534 }
535// setCaption(caption().right(caption().length()-1)); 535 }
536// doSearchBar(); 536 viewSelection = browseForFiles->SelectionCombo->currentItem();
537 }
538 delete browseForFiles;
539 editor->setEdited( FALSE);
540 edited1=FALSE;
541 edited=FALSE;
542 if(caption().left(1)=="*")
543 setCaption(caption().right(caption().length()-1));
544 doSearchBar();
545 }
537} 546}
538 547
539void TextEdit::doSearchBar() 548void TextEdit::doSearchBar()
540{ 549{
541 Config cfg("TextEdit"); 550 Config cfg("TextEdit");
542 cfg.setGroup("View"); 551 cfg.setGroup("View");
543 if(cfg.readEntry("SearchBar","Closed") != "Opened") 552 if(cfg.readEntry("SearchBar","Closed") != "Opened")
544 searchBar->hide(); 553 searchBar->hide();
545} 554}
546 555
547#if 0 556#if 0
548void TextEdit::slotFind() 557void TextEdit::slotFind()
549{ 558{
550 FindDialog frmFind( tr("Text Editor"), this ); 559 FindDialog frmFind( tr("Text Editor"), this );
551 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)), 560 connect( &frmFind, SIGNAL(signalFindClicked(const QString &, bool, bool, int)),
552 editor, SLOT(slotDoFind( const QString&,bool,bool))); 561 editor, SLOT(slotDoFind( const QString&,bool,bool)));
553 562
554 //case sensitive, backwards, [category] 563 //case sensitive, backwards, [category]
555 564
556 connect( editor, SIGNAL(notFound()), 565 connect( editor, SIGNAL(notFound()),
557 &frmFind, SLOT(slotNotFound()) ); 566 &frmFind, SLOT(slotNotFound()) );
558 connect( editor, SIGNAL(searchWrapped()), 567 connect( editor, SIGNAL(searchWrapped()),
559 &frmFind, SLOT(slotWrapAround()) ); 568 &frmFind, SLOT(slotWrapAround()) );
560 569
561 frmFind.exec(); 570 frmFind.exec();
562 571
563 572
564} 573}
565#endif 574#endif
566 575
567void TextEdit::fileRevert() 576void TextEdit::fileRevert()
568{ 577{
569 clear(); 578 clear();
570 fileOpen(); 579 fileOpen();
571} 580}
572 581
573void TextEdit::editCut() 582void TextEdit::editCut()
574{ 583{
575#ifndef QT_NO_CLIPBOARD 584#ifndef QT_NO_CLIPBOARD
576 editor->cut(); 585 editor->cut();
577#endif 586#endif
578} 587}
579 588
580void TextEdit::editCopy() 589void TextEdit::editCopy()
581{ 590{
582#ifndef QT_NO_CLIPBOARD 591#ifndef QT_NO_CLIPBOARD
583 editor->copy(); 592 editor->copy();
584#endif 593#endif
585} 594}
586 595
587void TextEdit::editPaste() 596void TextEdit::editPaste()
588{ 597{
589#ifndef QT_NO_CLIPBOARD 598#ifndef QT_NO_CLIPBOARD
590 editor->paste(); 599 editor->paste();
591#endif 600#endif
592} 601}
593 602
594void TextEdit::editFind() 603void TextEdit::editFind()
595{ 604{
596 searchBar->show(); 605 searchBar->show();
597 searchVisible = TRUE; 606 searchVisible = TRUE;
598 searchEdit->setFocus(); 607 searchEdit->setFocus();
599 Config cfg("TextEdit"); 608 Config cfg("TextEdit");
600 cfg.setGroup("View"); 609 cfg.setGroup("View");
601 cfg.writeEntry("SearchBar","Opened"); 610 cfg.writeEntry("SearchBar","Opened");
602 611
603} 612}
604 613
605void TextEdit::findNext() 614void TextEdit::findNext()
606{ 615{
607 editor->find( searchEdit->text(), FALSE, FALSE ); 616 editor->find( searchEdit->text(), FALSE, FALSE );
608 617
609} 618}
610 619
611void TextEdit::findClose() 620void TextEdit::findClose()
612{ 621{
613 searchVisible = FALSE; 622 searchVisible = FALSE;
614 searchBar->hide(); 623 searchBar->hide();
615 Config cfg("TextEdit"); 624 Config cfg("TextEdit");
616 cfg.setGroup("View"); 625 cfg.setGroup("View");
617 cfg.writeEntry("SearchBar","Closed"); 626 cfg.writeEntry("SearchBar","Closed");
618 cfg.write(); 627 cfg.write();
619} 628}
620 629
621void TextEdit::search() 630void TextEdit::search()
622{ 631{
623 editor->find( searchEdit->text(), FALSE, FALSE ); 632 editor->find( searchEdit->text(), FALSE, FALSE );
624} 633}
625 634
626void TextEdit::newFile( const DocLnk &f ) 635void TextEdit::newFile( const DocLnk &f )
627{ 636{
628 DocLnk nf = f; 637 DocLnk nf = f;
629 nf.setType("text/plain"); 638 nf.setType("text/plain");
630 clear(); 639 clear();
631 setWState (WState_Reserved1 ); 640 setWState (WState_Reserved1 );
632 editor->setFocus(); 641 editor->setFocus();
diff --git a/core/apps/textedit/textedit.h b/core/apps/textedit/textedit.h
index 61fa2a0..edc6fe3 100644
--- a/core/apps/textedit/textedit.h
+++ b/core/apps/textedit/textedit.h
@@ -1,124 +1,124 @@
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#include <qpe/qcopenvelope_qws.h> 31#include <qpe/qcopenvelope_qws.h>
32 32
33#include <opie/ofileselector.h> 33#include <opie/ofileselector.h>
34 34
35#include <qmainwindow.h> 35#include <qmainwindow.h>
36#include <qmultilineedit.h> 36#include <qmultilineedit.h>
37#include <qlist.h> 37#include <qlist.h>
38#include <qmap.h> 38#include <qmap.h>
39 39
40class QAction; 40class QAction;
41class QWidgetStack; 41class QWidgetStack;
42class QToolButton; 42class QToolButton;
43class QPopupMenu; 43class QPopupMenu;
44class QToolBar; 44class QToolBar;
45class QLineEdit; 45class QLineEdit;
46class QAction; 46class QAction;
47class FileSelector; 47class FileSelector;
48class QpeEditor; 48class QpeEditor;
49class QPopupMenu; 49class QPopupMenu;
50 50
51class TextEdit : public QMainWindow 51class TextEdit : public QMainWindow
52{ 52{
53 Q_OBJECT 53 Q_OBJECT
54 54
55public: 55public:
56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 ); 56 TextEdit( QWidget *parent = 0, const char *name = 0, WFlags f = 0 );
57 ~TextEdit(); 57 ~TextEdit();
58 58
59 QPopupMenu *font; 59 QPopupMenu *font;
60 QAction *nStart; 60 QAction *nStart, *nFileDlgOpt;
61 bool edited, edited1; 61 bool edited, edited1;
62 void openFile( const QString & ); 62 void openFile( const QString & );
63 QCopChannel * channel; 63 QCopChannel * channel;
64public slots: 64public slots:
65 void editorChanged(); 65 void editorChanged();
66void receive(const QCString&, const QByteArray&); 66void receive(const QCString&, const QByteArray&);
67protected: 67protected:
68 void closeEvent( QCloseEvent *e ); 68 void closeEvent( QCloseEvent *e );
69 void doSearchBar(); 69 void doSearchBar();
70private slots: 70private slots:
71 void setDocument(const QString&); 71 void setDocument(const QString&);
72 void changeFont(); 72 void changeFont();
73 void fileNew(); 73 void fileNew();
74 void fileRevert(); 74 void fileRevert();
75 void fileOpen(); 75 void fileOpen();
76 void changeStartConfig(bool); 76 void changeStartConfig(bool);
77 bool save(); 77 bool save();
78 bool saveAs(); 78 bool saveAs();
79 void cleanUp(); 79 void cleanUp();
80 80
81 81
82 void editCut(); 82 void editCut();
83 void editCopy(); 83 void editCopy();
84 void editPaste(); 84 void editPaste();
85 void editFind(); 85 void editFind();
86 void editDelete(); 86 void editDelete();
87 87
88 void findNext(); 88 void findNext();
89 void findClose(); 89 void findClose();
90 90
91 void search(); 91 void search();
92 void accept(); 92 void accept();
93 93
94 void newFile( const DocLnk & ); 94 void newFile( const DocLnk & );
95 void openFile( const DocLnk & ); 95 void openFile( const DocLnk & );
96 void showEditTools(); 96 void showEditTools();
97 97
98 void zoomIn(); 98 void zoomIn();
99 void zoomOut(); 99 void zoomOut();
100 void setBold(bool y); 100 void setBold(bool y);
101 void setItalic(bool y); 101 void setItalic(bool y);
102 void setWordWrap(bool y); 102 void setWordWrap(bool y);
103 103
104private: 104private:
105 void colorChanged( const QColor &c ); 105 void colorChanged( const QColor &c );
106 void clear(); 106 void clear();
107 void updateCaption( const QString &name=QString::null ); 107 void updateCaption( const QString &name=QString::null );
108 void setFontSize(int sz, bool round_down_not_up); 108 void setFontSize(int sz, bool round_down_not_up);
109 109
110private: 110private:
111 fileSaver *fileSaveDlg; 111 fileSaver *fileSaveDlg;
112 fileBrowser *browseForFiles; 112 fileBrowser *browseForFiles;
113 QpeEditor* editor; 113 QpeEditor* editor;
114 QToolBar *menu, *editBar, *searchBar; 114 QToolBar *menu, *editBar, *searchBar;
115 QLineEdit *searchEdit; 115 QLineEdit *searchEdit;
116 DocLnk *doc; 116 DocLnk *doc;
117 bool searchVisible; 117 bool searchVisible;
118 bool bFromDocView; 118 bool bFromDocView;
119 int viewSelection; 119 int viewSelection;
120 QAction *zin, *zout; 120 QAction *zin, *zout;
121 QString currentFileName; 121 QString currentFileName;
122}; 122};
123 123
124#endif 124#endif