summaryrefslogtreecommitdiff
path: root/core
authorllornkcor <llornkcor>2002-03-24 14:17:21 (UTC)
committer llornkcor <llornkcor>2002-03-24 14:17:21 (UTC)
commit927d5f33cc4c36541d7fb7dde036bdd22f5d7253 (patch) (unidiff)
treecd846d8b462131c8c06c2ddf5787171449b8521e /core
parent807ea39f3ccfbc26e769fc16a79d459327e13437 (diff)
downloadopie-927d5f33cc4c36541d7fb7dde036bdd22f5d7253.zip
opie-927d5f33cc4c36541d7fb7dde036bdd22f5d7253.tar.gz
opie-927d5f33cc4c36541d7fb7dde036bdd22f5d7253.tar.bz2
changed things in filebrowser
Diffstat (limited to 'core') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp237
-rw-r--r--core/apps/textedit/fileBrowser.h30
-rw-r--r--core/apps/textedit/textedit.cpp4
3 files changed, 220 insertions, 51 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 1fdf9d9..c9366e7 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -15,23 +15,26 @@
15#include "inputDialog.h" 15#include "inputDialog.h"
16 16
17#include <qpe/config.h> 17#include <qpe/config.h>
18#include <qpe/resource.h> 18#include <qpe/resource.h>
19#include <qpe/fileselector.h> 19#include <qpe/fileselector.h>
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21#include <qpe/menubutton.h>
21 22
23#include <qdict.h>
22#include <qwidgetstack.h> 24#include <qwidgetstack.h>
23#include <qlistview.h> 25#include <qlistview.h>
24#include <qcombo.h> 26#include <qcombo.h>
25#include <qpushbutton.h> 27#include <qpushbutton.h>
26#include <qfile.h> 28#include <qfile.h>
27#include <qmessagebox.h> 29#include <qmessagebox.h>
28#include <qlayout.h> 30#include <qlayout.h>
29#include <unistd.h> 31#include <unistd.h>
30#include <qpopupmenu.h> 32#include <qpopupmenu.h>
31#include <qlineedit.h> 33#include <qlineedit.h>
34#include <qstringlist.h>
32 35
33#include <unistd.h> 36#include <unistd.h>
34#include <stdlib.h> 37#include <stdlib.h>
35 38
36static int u_id = 1; 39static int u_id = 1;
37static int get_unique_id() 40static int get_unique_id()
@@ -44,76 +47,104 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
44{ 47{
45 if ( !name ) 48 if ( !name )
46 setName( "fileBrowser" ); 49 setName( "fileBrowser" );
47 setCaption(tr( name ) ); 50 setCaption(tr( name ) );
48 filterStr=filter; 51 filterStr=filter;
49 52
53// channel = new QCopChannel( "QPE/fileDialog", this );
54// connect( channel, SIGNAL(received(const QCString&, const QByteArray&)),
55// this, SLOT(receive(const QCString&, const QByteArray&)) );
56
50 QGridLayout *layout = new QGridLayout( this ); 57 QGridLayout *layout = new QGridLayout( this );
51 layout->setSpacing( 4 ); 58 layout->setSpacing( 4 );
52 layout->setMargin( 4 ); 59 layout->setMargin( 4 );
53 60
61 dirPathCombo = new QComboBox( FALSE, this, "dorPathCombo" );
62 dirPathCombo->setEditable(TRUE);
63
64 connect( dirPathCombo, SIGNAL( activated( const QString & ) ),
65 this, SLOT( dirPathComboActivated( const QString & ) ) );
66
67 connect( dirPathCombo->lineEdit(), SIGNAL( returnPressed( ) ),
68 this, SLOT( dirPathEditPressed( ) ) );
69
70 dirPathStringList << "/";
71// we can get the storage here
72
73 layout->addMultiCellWidget( dirPathCombo, 0, 0, 0, 4 );
74
75 cdUpButton = new QPushButton(Resource::loadIconSet("up"),"",this,"cdUpButton");
76 cdUpButton ->setMinimumSize( QSize( 20, 20 ) );
77 cdUpButton ->setMaximumSize( QSize( 20, 20 ) );
78 connect( cdUpButton ,SIGNAL(released()),this,SLOT( upDir()) );
79 cdUpButton ->setFlat(TRUE);
80 layout->addMultiCellWidget( cdUpButton, 0, 0, 5, 5 );
54 81
55 dirLabel = new QLabel(this, "DirLabel");
56 dirLabel->setText(currentDir.canonicalPath());
57 dirLabel->setMinimumSize( QSize( 50, 15 ) );
58 dirLabel->setMaximumSize( QSize( 250, 15 ) );
59 layout->addWidget( dirLabel, 0, 0 );
60 82
61 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton"); 83 docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
62 docButton->setMinimumSize( QSize( 25, 25 ) ); 84 docButton->setMinimumSize( QSize( 20, 20 ) );
63 docButton->setMaximumSize( QSize( 25, 25 ) ); 85 docButton->setMaximumSize( QSize( 20, 20 ) );
64 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) ); 86 connect( docButton,SIGNAL(released()),this,SLOT( docButtonPushed()) );
65 docButton->setFlat(TRUE); 87 docButton->setFlat(TRUE);
66 layout->addWidget( docButton, 0, 1 ); 88 layout->addMultiCellWidget( docButton, 0, 0, 6, 6 );
67 89
68 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton"); 90 homeButton = new QPushButton( Resource::loadIconSet("home"),"",this,"homeButton");
69 homeButton->setMinimumSize( QSize( 25, 25 ) ); 91 homeButton->setMinimumSize( QSize( 20, 20 ) );
70 homeButton->setMaximumSize( QSize( 25, 25 ) ); 92 homeButton->setMaximumSize( QSize( 20, 20 ) );
71 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) ); 93 connect(homeButton,SIGNAL(released()),this,SLOT(homeButtonPushed()) );
72 homeButton->setFlat(TRUE); 94 homeButton->setFlat(TRUE);
73 layout->addWidget( homeButton, 0, 2 ); 95 layout->addMultiCellWidget( homeButton, 0, 0, 7, 7 );
74 96
75 FileStack = new QWidgetStack( this ); 97 FileStack = new QWidgetStack( this );
76 98
99
77 ListView = new QListView( this, "ListView" ); 100 ListView = new QListView( this, "ListView" );
78 ListView->setMinimumSize( QSize( 100, 25 ) ); 101 ListView->setMinimumSize( QSize( 100, 25 ) );
79 ListView->addColumn( tr( "Name" ) ); 102 ListView->addColumn( tr( "Name" ) );
80 ListView->setColumnWidth(0,120); 103 ListView->setColumnWidth(0,120);
81 ListView->setSorting( 2, FALSE); 104 ListView->setSorting( 2, FALSE);
82 ListView->addColumn( tr( "Size" ) ); 105 ListView->addColumn( tr( "Size" ) );
83 ListView->setColumnWidth(1,-1); 106 ListView->setColumnWidth(1,-1);
84 ListView->addColumn( "Date",-1); 107 ListView->addColumn( "Date",-1);
85// ListView->addColumn( tr( "" ) ); 108
86 ListView->setColumnWidthMode(0,QListView::Manual); 109 ListView->setColumnWidthMode(0,QListView::Manual);
87 ListView->setColumnAlignment(1,QListView::AlignRight); 110 ListView->setColumnAlignment(1,QListView::AlignRight);
88 ListView->setColumnAlignment(2,QListView::AlignRight); 111 ListView->setColumnAlignment(2,QListView::AlignRight);
89 ListView->setAllColumnsShowFocus( TRUE ); 112 ListView->setAllColumnsShowFocus( TRUE );
90 113
91 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold); 114 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
92 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 115 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
93 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) ); 116 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
94 117
95 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 118 connect( ListView, SIGNAL( clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
96 119
97 FileStack->addWidget( ListView, get_unique_id() ); 120 FileStack->addWidget( ListView, get_unique_id() );
98 121 mimeType="text/*";
99 fileSelector = new FileSelector( "text/*", FileStack, "fileselector" , FALSE, FALSE); //buggy 122 fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
100// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) ); 123// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
101// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) ); 124// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
102 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) ); 125 connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
103 layout->addMultiCellWidget( FileStack, 1, 1, 0, 2 ); 126 layout->addMultiCellWidget( FileStack, 1, 1, 0, 7 );
104 127
105 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" ); 128 SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
106 SelectionCombo->setMinimumSize( QSize( 200, 25 ) );
107 SelectionCombo->insertItem( tr( "Documents" ) ); 129 SelectionCombo->insertItem( tr( "Documents" ) );
108 SelectionCombo->insertItem( tr( "All files" ) ); 130 SelectionCombo->insertItem( tr( "All files" ) );
109 SelectionCombo->insertItem( tr( "All files (incl. hidden)" ) ); 131 SelectionCombo->insertItem( tr( "Hidden files" ) );
110 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 2 ); 132// SelectionCombo->setMaximumWidth(120);
133 layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 3 );
134
111 connect( SelectionCombo, SIGNAL( activated( const QString & ) ), 135 connect( SelectionCombo, SIGNAL( activated( const QString & ) ),
112 this, SLOT( selectionChanged( const QString & ) ) ); 136 this, SLOT( selectionChanged( const QString & ) ) );
113 137
138 typemb = new MenuButton(this);
139 typemb->setLabel(tr("Type: %1"));
140 typemb->setMinimumWidth(110);
141 typemb->setFixedHeight(22);
142 layout->addMultiCellWidget( typemb, 2, 2, 4, 7 );
143 updateMimeTypeMenu() ;
144
114 currentDir.setPath(QDir::currentDirPath()); 145 currentDir.setPath(QDir::currentDirPath());
115 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All); 146 currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden */| QDir::All);
116 147
117 populateList(); 148 populateList();
118 move(0,15); 149 move(0,15);
119} 150}
@@ -165,24 +196,39 @@ void fileBrowser::populateList()
165 if(fileL !="./") { 196 if(fileL !="./") {
166 item= new QListViewItem( ListView,fileL,fileS , fileDate); 197 item= new QListViewItem( ListView,fileL,fileS , fileDate);
167 if(isDir || fileL.find("/",0,TRUE) != -1) 198 if(isDir || fileL.find("/",0,TRUE) != -1)
168 item->setPixmap( 0, Resource::loadPixmap( "folder" )); 199 item->setPixmap( 0, Resource::loadPixmap( "folder" ));
169 else 200 else
170 item->setPixmap( 0, Resource::loadPixmap( "fileopen" )); 201 item->setPixmap( 0, Resource::loadPixmap( "fileopen" ));
171 } 202 }
172 isDir=FALSE; 203 isDir=FALSE;
173 ++it; 204 ++it;
174 } 205 }
175// ListView->setSorting( 2, FALSE);
176 ListView->setSorting( 3, FALSE); 206 ListView->setSorting( 3, FALSE);
177 dirLabel->setText(currentDir.canonicalPath()); 207 QString currentPath = currentDir.canonicalPath();
208
209 fillCombo( (const QString &)currentPath);
210// dirPathCombo->lineEdit()->setText(currentPath);
211
212// if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
213// dirPathCombo->clear();
214// dirPathStringList.prepend(currentPath );
215// dirPathCombo->insertStringList( dirPathStringList,-1);
216// }
178} 217}
179 218
180void fileBrowser::upDir() 219void fileBrowser::upDir()
181{ 220{
182// qDebug(currentDir.canonicalPath()); 221 QString current = currentDir.canonicalPath();
222 QDir dir(current);
223 dir.cdUp();
224 current = dir.canonicalPath();
225 chdir( current.latin1() );
226 currentDir.cd( current, TRUE);
227 populateList();
228 update();
183} 229}
184 230
185// you may want to switch these 2 functions. I like single clicks 231// you may want to switch these 2 functions. I like single clicks
186void fileBrowser::listClicked(QListViewItem *selectedItem) 232void fileBrowser::listClicked(QListViewItem *selectedItem)
187{ 233{
188 QString strItem=selectedItem->text(0); 234 QString strItem=selectedItem->text(0);
@@ -237,45 +283,46 @@ void fileBrowser::OnOK()
237 } 283 }
238 } 284 }
239 accept(); 285 accept();
240} 286}
241 287
242void fileBrowser::homeButtonPushed() { 288void fileBrowser::homeButtonPushed() {
243 chdir( QDir::homeDirPath().latin1() ); 289 QString current = QDir::homeDirPath();
244 currentDir.cd( QDir::homeDirPath(), TRUE); 290 chdir( current.latin1() );
245 populateList(); 291 currentDir.cd( current, TRUE);
246 update(); 292 populateList();
293 update();
247} 294}
248 295
249void fileBrowser::docButtonPushed() { 296void fileBrowser::docButtonPushed() {
250 chdir( QString(QPEApplication::documentDir()+"/text").latin1() ); 297 QString current = QPEApplication::documentDir();
251 currentDir.cd( QPEApplication::documentDir()+"/text", TRUE); 298 chdir( current.latin1() );
252 populateList(); 299 currentDir.cd( current, TRUE);
253 update(); 300 populateList();
301 update();
254 302
255} 303}
256 304
257void fileBrowser::selectionChanged( const QString &select ) 305void fileBrowser::selectionChanged( const QString &select )
258{ 306{
259 if ( select == "Documents") 307 if ( select == "Documents") {
260 {
261 FileStack->raiseWidget( fileSelector ); 308 FileStack->raiseWidget( fileSelector );
262 dirLabel->hide(); 309 dirPathCombo->hide();
310 cdUpButton->hide();
263 docButton->hide(); 311 docButton->hide();
264 homeButton->hide(); 312 homeButton->hide();
265 } 313 } else {
266 else
267 {
268 if ( select == "All files" ) 314 if ( select == "All files" )
269 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All); 315 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All);
270 else 316 else
271 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 317 currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
272 318
273 populateList(); 319 populateList();
274 update(); 320 update();
275 dirLabel->show(); 321 dirPathCombo->show();
322 cdUpButton->show();
276 docButton->show(); 323 docButton->show();
277 homeButton->show(); 324 homeButton->show();
278 FileStack->raiseWidget( ListView ); 325 FileStack->raiseWidget( ListView );
279 } 326 }
280} 327}
281 328
@@ -300,17 +347,18 @@ void fileBrowser::showListMenu(QListViewItem *item) {
300 347
301 QPopupMenu m;// = new QPopupMenu( Local_View ); 348 QPopupMenu m;// = new QPopupMenu( Local_View );
302 if( item->text(0).find("/",0,TRUE)) 349 if( item->text(0).find("/",0,TRUE))
303 m.insertItem( tr( "Change Directory" ), this, SLOT( doCd() )); 350 m.insertItem( tr( "Change Directory" ), this, SLOT( doCd() ));
304 else 351 else
305 m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() )); 352 m.insertItem( tr( "Make Directory" ), this, SLOT( makDir() ));
353 m.insertItem( tr( "Rescan" ), this, SLOT( populateList()() ));
306 m.insertItem( tr( "Rename" ), this, SLOT( localRename() )); 354 m.insertItem( tr( "Rename" ), this, SLOT( localRename() ));
307 m.insertSeparator(); 355 m.insertSeparator();
308 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() )); 356 m.insertItem( tr( "Delete" ), this, SLOT( localDelete() ));
309 m.exec( QCursor::pos() ); 357 m.exec( QCursor::pos() );
310 358
311} 359}
312 360
313void fileBrowser::doCd() { 361void fileBrowser::doCd() {
314 listClicked( ListView->currentItem()); 362 listClicked( ListView->currentItem());
315} 363}
316 364
@@ -349,28 +397,135 @@ void fileBrowser::localDelete() {
349 f=currentDir.canonicalPath()+"/"+f; 397 f=currentDir.canonicalPath()+"/"+f;
350 QString cmd="rmdir "+f; 398 QString cmd="rmdir "+f;
351 system( cmd.latin1()); 399 system( cmd.latin1());
352 populateList(); 400 populateList();
353 } 401 }
354 break; 402 break;
355 case 1: 403 case 1:
356 // exit 404 // exit
357 break; 405 break;
358 }; 406 };
359 407
360 } else { 408 } else {
361 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f 409 switch ( QMessageBox::warning(this,"Delete","Do you really want to delete\n"+f
362 +" ?","Yes","No",0,0,1) ) { 410 +" ?","Yes","No",0,0,1) ) {
363 case 0: { 411 case 0: {
364 f=currentDir.canonicalPath()+"/"+f; 412 f=currentDir.canonicalPath()+"/"+f;
365 QString cmd="rm "+f; 413 QString cmd="rm "+f;
366 system( cmd.latin1()); 414 system( cmd.latin1());
367 populateList(); 415 populateList();
368 } 416 }
369 break; 417 break;
370 case 1: 418 case 1:
371 // exit 419 // exit
372 break; 420 break;
373 }; 421 };
374 } 422 }
423}
424
425void fileBrowser::updateMimeTypeMenu() {
426
427 disconnect( typemb, SIGNAL(selected(const QString&)),
428 this, SLOT(showType(const QString&)) );
429
430 QString prev;
431
432 // Type filter
433 QStringList types;
434 types << tr("All");
435 types << "--";
436 types += getMimeTypes();
437 prev = typemb->currentText();
438 typemb->clear();
439 typemb->insertItems(types);
440 // typemb->select(prev);
441
442 connect(typemb, SIGNAL(selected(const QString&)), this, SLOT(showType(const QString&)));
443}
444
445void fileBrowser::showType(const QString &t) {
446
447 qDebug(t);
448 mimeType = t+"/*";
449// if(fileSelector) {
450// disconnect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
451// delete fileSelector;
452 }
453 // fileSelector = new FileSelector( mimeType, FileStack, "fileselector" , FALSE, FALSE); //buggy
454// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
455// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
456 // connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
457 fileSelector->reread();
458 repaint();
459// if ( t == tr("All") ) {
460// icons->setTypeFilter("",TRUE);
461// } else {
462// icons->setTypeFilter(t+"/*",TRUE);
463// }
464
465}
466
467QStringList fileBrowser::getMimeTypes() {
468 QStringList r;
469 AppLnkSet apps( QPEApplication::qpeDir() + "apps" );
470 QFile file( QPEApplication::qpeDir()+"etc/available.mime");
471 file.open( IO_WriteOnly|IO_Truncate);//)
472 for ( QListIterator<AppLnk> it( apps.children() ); it.current(); ++it ) {
473 AppLnk* l;
474 l = it.current();
475 QStringList maj = l->mimeTypes();
476 QStringList::ConstIterator f;
477 for ( f = maj.begin(); f != maj.end(); f++ ) {
478 QString temp = *f;
479 int sl = temp.find('/');
480 if (sl >= 0) {
481 QString k = temp.left(sl);
482 if( r.grep(k,TRUE).isEmpty() ) {
483 r << k;
484 k+="\n";
485 file.writeBlock( k.latin1(), k.length());
486 }
487 }
488 }
489 }
490 r.sort();
491 file.close();
492 return r;
493}
494
495void fileBrowser::receive( const QCString &msg, const QByteArray &data ) {
496// QDataStream stream( data, IO_ReadOnly );
497// if (msg == "keyRegister(int key, QString channel, QString message)")
498// {
499// int k;
500// QString c, m;
501// stream >> k;
502// stream >> c;
503// stream >> m;
504}
505
506void fileBrowser::dirPathComboActivated( const QString & current) {
507 chdir( current.latin1() );
508 currentDir.cd( current, TRUE);
509 populateList();
510 update();
511}
512
513void fileBrowser::dirPathEditPressed() {
514 QString current = dirPathCombo->lineEdit()->text();
515 chdir( current.latin1() );
516 currentDir.cd( current, TRUE);
517 populateList();
518 update();
519}
520
521void fileBrowser::fillCombo(const QString &currentPath) {
522
523 dirPathCombo->lineEdit()->setText(currentPath);
524
525 if( dirPathStringList.grep(currentPath,TRUE).isEmpty() ) {
526 dirPathCombo->clear();
527 dirPathStringList.prepend(currentPath );
528 dirPathCombo->insertStringList( dirPathStringList,-1);
529 }
375 530
376} 531}
diff --git a/core/apps/textedit/fileBrowser.h b/core/apps/textedit/fileBrowser.h
index 4f765dd..8a98365 100644
--- a/core/apps/textedit/fileBrowser.h
+++ b/core/apps/textedit/fileBrowser.h
@@ -19,12 +19,13 @@ copyright Sun 02-17-2002 22:28:23 L. J. Potter ljp@llornkcor.com
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 26
26#include <qpe/filemanager.h> 27#include <qpe/filemanager.h>
27 28
28class QVBoxLayout; 29class QVBoxLayout;
29class QHBoxLayout; 30class QHBoxLayout;
30class QGridLayout; 31class QGridLayout;
@@ -32,55 +33,68 @@ class QListView;
32class QListViewItem; 33class QListViewItem;
33class QPushButton; 34class QPushButton;
34class QComboBox; 35class QComboBox;
35class QWidgetStack; 36class QWidgetStack;
36class FileSelector; 37class FileSelector;
37class QPoint; 38class QPoint;
39class MenuButton;
40class QRegExp;
41
38 42
39class fileBrowser : public QDialog 43class fileBrowser : public QDialog
40{ 44{
41 Q_OBJECT 45 Q_OBJECT
42 46
43public: 47public:
44 void populateList(); 48 void populateList();
45 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0); 49 fileBrowser( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ,const QString filter=0);
46 ~fileBrowser(); 50 ~fileBrowser();
47 51
48 void setFileView( int ); 52 void setFileView( int );
49 53
50 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton; 54 QPushButton *buttonOk, *buttonCancel, *homeButton, *docButton, *hideButton, *cdUpButton;
51 QListView* ListView; 55 QListView* ListView;
52 56
53 QLabel *dirLabel; 57 QLabel *dirLabel;
54 QString selectedFileName, filterStr; 58 QString selectedFileName, filterStr;
55 QDir currentDir; 59 QDir currentDir;
56 QFile file; 60 QFile file;
57 QStringList fileList; 61 QStringList fileList, dirPathStringList;
58 QListViewItem * item; 62 QListViewItem * item;
59 QComboBox *SelectionCombo; 63 QComboBox *SelectionCombo, *dirPathCombo;
64 MenuButton *typemb;
60 QWidgetStack *FileStack; 65 QWidgetStack *FileStack;
61 FileSelector *fileSelector; 66 FileSelector *fileSelector;
62 67 QString mimeType;
63public slots: 68public slots:
69
70private:
71// QDict<void> mimes;
72 QRegExp tf;
73 QStringList getMimeTypes();
74 void fillCombo( const QString&);
75private slots:
64 void homeButtonPushed(); 76 void homeButtonPushed();
65 void docButtonPushed(); 77 void docButtonPushed();
66 void ListPressed( int, QListViewItem *, const QPoint&, int); 78 void ListPressed( int, QListViewItem *, const QPoint&, int);
67 void showListMenu(QListViewItem*); 79 void showListMenu(QListViewItem*);
68 void doCd(); 80 void doCd();
69 void makDir(); 81 void makDir();
70 void localRename(); 82 void localRename();
71 void localDelete(); 83 void localDelete();
72private: 84 void receive( const QCString &msg, const QByteArray &data );
73 85 void dirPathComboActivated( const QString & );
74private slots:
75 void upDir(); 86 void upDir();
76 void listClicked( QListViewItem * ); 87 void listClicked( QListViewItem * );
77 void selectionChanged( const QString & ); 88 void selectionChanged( const QString & );
78 void OnOK(); 89 void OnOK();
79 void docOpen( const DocLnk & ); 90 void docOpen( const DocLnk & );
80 91 void updateMimeTypeMenu();
92 void showType(const QString &);
93 void dirPathEditPressed();
94
81protected slots: 95protected slots:
82 96
83protected: 97protected:
84 98
85}; 99};
86 100
diff --git a/core/apps/textedit/textedit.cpp b/core/apps/textedit/textedit.cpp
index 1a1b186..da74893 100644
--- a/core/apps/textedit/textedit.cpp
+++ b/core/apps/textedit/textedit.cpp
@@ -494,14 +494,14 @@ void TextEdit::fileNew()
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, "*");
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);