summaryrefslogtreecommitdiff
authorzecke <zecke>2002-10-05 22:20:57 (UTC)
committer zecke <zecke>2002-10-05 22:20:57 (UTC)
commit99425255c4afcd75ee6b2f903487cb958d3acdee (patch) (unidiff)
tree8cce0b096ce9a000291044def444f30934c79888
parent94180a2019a945e6a492405dc6a30420c760529f (diff)
downloadopie-99425255c4afcd75ee6b2f903487cb958d3acdee.zip
opie-99425255c4afcd75ee6b2f903487cb958d3acdee.tar.gz
opie-99425255c4afcd75ee6b2f903487cb958d3acdee.tar.bz2
So now switching is about to be implemented the next commit will have a completed OListe/OFileView switch
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofileselector/odefaultfactories.cpp15
-rw-r--r--libopie/ofileselector/odefaultfactories.h14
-rw-r--r--libopie/ofileselector/ofileselector.cpp34
-rw-r--r--libopie/ofileselector/ofileselector.h4
4 files changed, 50 insertions, 17 deletions
diff --git a/libopie/ofileselector/odefaultfactories.cpp b/libopie/ofileselector/odefaultfactories.cpp
new file mode 100644
index 0000000..c41fbca
--- a/dev/null
+++ b/libopie/ofileselector/odefaultfactories.cpp
@@ -0,0 +1,15 @@
1#include "ofilelistview.h"
2#include "olocallister.h"
3
4#include "odefaultfactories.h"
5
6extern "C" {
7
8 OFileView* newFileListView( OFileSelector* sel, QWidget* par ) {
9 return new OFileListView(par, sel );
10 }
11 OLister* newLocalLister( OFileSelector* sel) {
12 return new OLocalLister( sel );
13 }
14
15};
diff --git a/libopie/ofileselector/odefaultfactories.h b/libopie/ofileselector/odefaultfactories.h
new file mode 100644
index 0000000..eb698d3
--- a/dev/null
+++ b/libopie/ofileselector/odefaultfactories.h
@@ -0,0 +1,14 @@
1#ifndef OPIE_DEFAULT_FACTORIES_H
2#define OPIE_DEFAULT_FACTORIES_H
3
4#include "ofilefactory.h"
5
6extern "C" {
7
8 OFileView* newFileListView( OFileSelector*, QWidget* parent );
9 OLister* newLocalLister(OFileSelector* );
10
11};
12
13
14#endif
diff --git a/libopie/ofileselector/ofileselector.cpp b/libopie/ofileselector/ofileselector.cpp
index 458d432..91a510f 100644
--- a/libopie/ofileselector/ofileselector.cpp
+++ b/libopie/ofileselector/ofileselector.cpp
@@ -1,84 +1,85 @@
1 1
2 2
3#include <qcheckbox.h> 3#include <qcheckbox.h>
4#include <qcombobox.h> 4#include <qcombobox.h>
5#include <qheader.h> 5#include <qheader.h>
6#include <qlabel.h> 6#include <qlabel.h>
7#include <qabstractlayout.h> 7#include <qabstractlayout.h>
8#include <qlayout.h> 8#include <qlayout.h>
9#include <qlineedit.h> 9#include <qlineedit.h>
10#include <qlistview.h> 10#include <qlistview.h>
11#include <qmessagebox.h> 11#include <qmessagebox.h>
12#include <qpainter.h> 12#include <qpainter.h>
13#include <qpushbutton.h> 13#include <qpushbutton.h>
14#include <qwidgetstack.h> 14#include <qwidgetstack.h>
15#include <qpopupmenu.h> 15#include <qpopupmenu.h>
16#include <qdir.h> 16#include <qdir.h>
17#include <qfile.h> 17#include <qfile.h>
18#include <qfileinfo.h> 18#include <qfileinfo.h>
19#include <qtimer.h> 19#include <qtimer.h>
20 20
21#include <qpe/qpeapplication.h> 21#include <qpe/qpeapplication.h>
22#include <qpe/applnk.h> 22#include <qpe/applnk.h>
23#include <qpe/global.h> 23#include <qpe/global.h>
24#include <qpe/mimetype.h> 24#include <qpe/mimetype.h>
25#include <qpe/resource.h> 25#include <qpe/resource.h>
26#include <qpe/storage.h> 26#include <qpe/storage.h>
27 27
28#include <unistd.h> 28#include <unistd.h>
29#include <stdlib.h> 29#include <stdlib.h>
30#include <sys/stat.h> 30#include <sys/stat.h>
31 31
32#include "ofileview.h" 32#include "ofileview.h"
33#include "ofileselectormain.h" 33#include "ofileselectormain.h"
34#include "ofileselector.h" 34#include "ofileselector.h"
35#include "olocallister.h" 35#include "olocallister.h"
36#include "olister.h" 36#include "olister.h"
37#include "odefaultfactories.h"
37 38
38QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0; 39QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0;
39 40
40namespace { 41namespace {
41 /* let's find the index for a specified string */ 42 /* let's find the index for a specified string */
42 int indexByString( const QComboBox *box, const QString &str ){ 43 int indexByString( const QComboBox *box, const QString &str ){
43 int index= 0; 44 int index= 0;
44 for(int i= 0; i < box->count(); i++ ){ 45 for(int i= 0; i < box->count(); i++ ){
45 /* found */ 46 /* found */
46 if( str == box->text(i ) ){ 47 if( str == box->text(i ) ){
47 index= i; 48 index= i;
48 break; 49 break;
49 } 50 }
50 } 51 }
51 return index; 52 return index;
52 } 53 }
53} 54}
54 55
55OFileSelector::OFileSelector( QWidget *wid, int mode, int selector, 56OFileSelector::OFileSelector( QWidget *wid, int mode, int selector,
56 const QString &dirName, 57 const QString &dirName,
57 const QString &fileName, 58 const QString &fileName,
58 const QMap<QString,QStringList>& mimeTypes) 59 const QMap<QString,QStringList>& mimeTypes)
59 : QWidget( wid, "OFileSelector") 60 : QWidget( wid, "OFileSelector")
60{ 61{
61 m_mimetypes = mimeTypes; 62 m_mimetypes = mimeTypes;
62 if (mode == Save ) 63 if (mode == Save )
63 m_name = fileName; 64 m_name = fileName;
64 65
65 initVars(); 66 initVars();
66 67
67 m_mode = mode; 68 m_mode = mode;
68 m_selector = selector; 69 m_selector = selector;
69 m_currentDir = dirName; 70 m_currentDir = dirName;
70 init(); 71 init();
71} 72}
72 73
73OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent, 74OFileSelector::OFileSelector(const QString &mimeFilter, QWidget *parent,
74 const char *name, bool newVisible, 75 const char *name, bool newVisible,
75 bool closeVisible ) 76 bool closeVisible )
76 : QWidget( parent, name ) 77 : QWidget( parent, name )
77{ 78{
78 /* update the mimefilter */ 79 /* update the mimefilter */
79 if (!mimeFilter.isEmpty() ) { 80 if (!mimeFilter.isEmpty() ) {
80 QStringList list = QStringList::split(";", mimeFilter ); 81 QStringList list = QStringList::split(";", mimeFilter );
81 m_mimetypes.insert(mimeFilter, list ); 82 m_mimetypes.insert(mimeFilter, list );
82 } 83 }
83 initVars(); 84 initVars();
84 m_currentDir = QPEApplication::documentDir(); 85 m_currentDir = QPEApplication::documentDir();
@@ -252,273 +253,265 @@ void OFileSelector::setSelector(int mode )
252 break; 253 break;
253 } 254 }
254 slotViewCheck( text ); 255 slotViewCheck( text );
255} 256}
256 257
257void OFileSelector::setPopupFactory(OPopupMenuFactory */*popup*/ ) 258void OFileSelector::setPopupFactory(OPopupMenuFactory */*popup*/ )
258{ 259{
259/* m_custom = popup; 260/* m_custom = popup;
260 m_showPopup = true; 261 m_showPopup = true;
261*/ 262*/
262} 263}
263 264
264//void OFileSelector::updateL 265//void OFileSelector::updateL
265 266
266QString OFileSelector::selectedName() const 267QString OFileSelector::selectedName() const
267{ 268{
268 QString name; 269 QString name;
269 if( m_selector == Normal ){ 270 if( m_selector == Normal ){
270 DocLnk lnk = m_select->selectedDocument(); 271 DocLnk lnk = m_select->selectedDocument();
271 name = lnk.file(); 272 name = lnk.file();
272 }else { 273 }else {
273 if ( m_shLne ) { 274 if ( m_shLne ) {
274 name = m_currentDir + "/" +m_edit->text(); 275 name = m_currentDir + "/" +m_edit->text();
275 }else{ 276 }else{
276 name = m_currentDir + "/" + currentView()->selectedName(); 277 name = m_currentDir + "/" + currentView()->selectedName();
277 } 278 }
278 } 279 }
279 return name; 280 return name;
280} 281}
281QStringList OFileSelector::selectedNames()const 282QStringList OFileSelector::selectedNames()const
282{ 283{
283 QStringList list; 284 QStringList list;
284 if( m_selector == Normal ){ 285 if( m_selector == Normal ){
285 list << selectedName(); 286 list << selectedName();
286 }else { 287 }else {
287 list << selectedName(); // FIXME implement multiple Selections 288 list << selectedName(); // FIXME implement multiple Selections
288 } 289 }
289 return list; 290 return list;
290} 291}
291/** If mode is set to the Dir selection this will return the selected path. 292/** If mode is set to the Dir selection this will return the selected path.
292 * 293 *
293 * 294 *
294 */ 295 */
295QString OFileSelector::selectedPath()const 296QString OFileSelector::selectedPath()const
296{ 297{
297 QString path; 298 QString path;
298 if( m_selector == Normal ){ 299 if( m_selector == Normal ){
299 path = QPEApplication::documentDir(); 300 path = QPEApplication::documentDir();
300 } /*else if( m_selector == Extended || m_selector == ExtendedAll ){ 301 } /* normal case to do */
301 ;
302 }*/
303 return path; 302 return path;
304} 303}
305QStringList OFileSelector::selectedPaths() const 304QStringList OFileSelector::selectedPaths() const
306{ 305{
307 QStringList list; 306 QStringList list;
308 list << selectedPath(); 307 list << selectedPath();
309 return list; 308 return list;
310} 309}
311QString OFileSelector::directory()const 310QString OFileSelector::directory()const
312{ 311{
313 if( m_selector == Normal ) 312 if( m_selector == Normal )
314 return QPEApplication::documentDir(); 313 return QPEApplication::documentDir();
315 314
316 return QDir(m_currentDir).absPath(); 315 return QDir(m_currentDir).absPath();
317} 316}
318 317
319int OFileSelector::fileCount() 318int OFileSelector::fileCount()
320{ 319{
321 int count; 320 int count;
322 switch( m_selector ){ 321 switch( m_selector ){
323 case Normal: 322 case Normal:
324 count = m_select->fileCount(); 323 count = m_select->fileCount();
325 break; 324 break;
326 case Extended: 325 case Extended:
327 case ExtendedAll: 326 case ExtendedAll:
328 default: 327 default:
329 count = currentView()->fileCount(); 328 count = currentView()->fileCount();
330 break; 329 break;
331 } 330 }
332 return count; 331 return count;
333} 332}
334DocLnk OFileSelector::selectedDocument() const 333DocLnk OFileSelector::selectedDocument() const
335{ 334{
336 DocLnk lnk; 335 DocLnk lnk;
337 switch( m_selector ){ 336 switch( m_selector ){
338 case Normal:{ 337 case Normal:{
339 lnk = m_select->selectedDocument(); 338 lnk = m_select->selectedDocument();
340 break; 339 break;
341 } 340 }
342 case Extended: 341 case Extended:
343 case ExtendedAll: 342 case ExtendedAll:
344 default: 343 default:
345 lnk = DocLnk( selectedName() ); 344 lnk = DocLnk( selectedName() );
346 break; 345 break;
347 } 346 }
348 return lnk; 347 return lnk;
349} 348}
350QValueList<DocLnk> OFileSelector::selectedDocuments() const 349QValueList<DocLnk> OFileSelector::selectedDocuments() const
351{ 350{
352 QValueList<DocLnk> docs; 351 QValueList<DocLnk> docs;
353 docs.append( selectedDocument() ); 352 docs.append( selectedDocument() );
354 return docs; 353 return docs;
355} 354}
356 355
357 356
358// slots internal 357// slots internal
359 358
360void OFileSelector::slotOk() 359void OFileSelector::slotOk()
361{ 360{
362 emit ok(); 361 emit ok();
363} 362}
364void OFileSelector::slotCancel() 363void OFileSelector::slotCancel()
365{ 364{
366 emit cancel(); 365 emit cancel();
367} 366}
368/* switch the views */ 367/* switch the views */
369void OFileSelector::slotViewCheck(const QString &sel) 368void OFileSelector::slotViewCheck(const QString &sel)
370{ 369{
371 if( sel == tr("Documents" ) ){ 370 if( sel == tr("Documents" ) ){
372 initializeOldSelector(); 371 initializeOldSelector();
373 m_selector = Normal; 372 m_selector = Normal;
374 373
375 }else if( sel == tr("Files") ){ 374 }else {
376 m_selector = Extended; 375;
377
378 // FIXME call the factory
379 //reparse();
380 }else if( sel == tr("All Files") ){
381 m_selector = ExtendedAll;
382/* see above
383 reparse(); */
384 } 376 }
385} 377}
386 378
387QString OFileSelector::currentMimeType() const{ 379QString OFileSelector::currentMimeType() const{
388 QString mime; 380 QString mime;
389 QString currentText; 381 QString currentText;
390 if (m_shChooser && m_mimeCheck ) 382 if (m_shChooser && m_mimeCheck )
391 currentText = m_mimeCheck->currentText(); 383 currentText = m_mimeCheck->currentText();
392 384
393 qWarning("CurrentText" + currentText ); 385 qWarning("CurrentText" + currentText );
394 if (tr("All") == currentText ) return QString::null; 386 if (tr("All") == currentText ) return QString::null;
395 else if (currentText.isEmpty() ) { 387 else if (currentText.isEmpty() ) {
396 ; 388 ;
397 }else { 389 }else {
398 QMap<QString, QStringList>::ConstIterator it; 390 QMap<QString, QStringList>::ConstIterator it;
399 it = m_mimetypes.find( currentText ); 391 it = m_mimetypes.find( currentText );
400 if ( it != m_mimetypes.end() ) { 392 if ( it != m_mimetypes.end() ) {
401 mime = it.data().join(";"); 393 mime = it.data().join(";");
402 }else{ 394 }else{
403 mime = currentText; 395 mime = currentText;
404 } 396 }
405 } 397 }
406 return mime; 398 return mime;
407} 399}
408void OFileSelector::slotMimeCheck(const QString &mime) 400void OFileSelector::slotMimeCheck(const QString &mime)
409{ 401{
410 if( m_selector == Normal ){ 402 if( m_selector == Normal ){
411 initializeOldSelector(); 403 initializeOldSelector();
412 404
413 updateMimes(); 405 updateMimes();
414 updateMimeCheck(); 406 updateMimeCheck();
415 m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); 407 m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) );
416 }else{ // others 408 }else{ // others
417 qWarning("Mime %s", mime.latin1() ); 409 qWarning("Mime %s", mime.latin1() );
418 if(m_shChooser ){ 410 if(m_shChooser ){
419 qWarning("Current Text %s", m_mimeCheck->currentText().latin1() ); 411 qWarning("Current Text %s", m_mimeCheck->currentText().latin1() );
420 //m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); 412 //m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) );
421 } 413 }
422 reparse(); 414 reparse();
423 } 415 }
424 416
425} 417}
426/* 418/*
427 * Ok if a non dir gets inserted into this combobox 419 * Ok if a non dir gets inserted into this combobox
428 * we need to change it 420 * we need to change it
429 * QFileInfo and dirPath will give us the right Dir 421 * QFileInfo and dirPath will give us the right Dir
430 */ 422 */
431void OFileSelector::slotLocationActivated(const QString &file) 423void OFileSelector::slotLocationActivated(const QString &file)
432{ 424{
433 qWarning("slotLocationActivated"); 425 qWarning("slotLocationActivated");
434 QString name = file.left( file.find("<-", 0, TRUE ) ); 426 QString name = file.left( file.find("<-", 0, TRUE ) );
435 QFileInfo info( name ); 427 QFileInfo info( name );
436 if ( info.isFile() ) 428 if ( info.isFile() )
437 cd(info.dirPath( TRUE ) ); //absolute 429 cd(info.dirPath( TRUE ) ); //absolute
438 else 430 else
439 cd(name ); 431 cd(name );
440 reparse(); 432 reparse();
441} 433}
442void OFileSelector::slotInsertLocationPath(const QString &currentPath, int count) 434void OFileSelector::slotInsertLocationPath(const QString &currentPath, int count)
443{ 435{
444 QStringList pathList; 436 QStringList pathList;
445 bool underDog = FALSE; 437 bool underDog = FALSE;
446 for(int i=0;i<count;i++) { 438 for(int i=0;i<count;i++) {
447 pathList << m_location->text(i); 439 pathList << m_location->text(i);
448 if( m_location->text(i) == currentPath) 440 if( m_location->text(i) == currentPath)
449 underDog = TRUE; 441 underDog = TRUE;
450 } 442 }
451 if( !underDog) { 443 if( !underDog) {
452 m_location->clear(); 444 m_location->clear();
453 if( currentPath.left(2)=="//") 445 if( currentPath.left(2)=="//")
454 pathList.append( currentPath.right(currentPath.length()-1) ); 446 pathList.append( currentPath.right(currentPath.length()-1) );
455 else 447 else
456 pathList.append( currentPath ); 448 pathList.append( currentPath );
457 m_location->insertStringList( pathList,-1); 449 m_location->insertStringList( pathList,-1);
458 } 450 }
459} 451}
460/* 452/*
461 * Do not crash anymore 453 * Do not crash anymore
462 * don't try to change dir to a file 454 * don't try to change dir to a file
463 */ 455 */
464void OFileSelector::locationComboChanged() 456void OFileSelector::locationComboChanged()
465{ 457{
466 QFileInfo info( m_location->lineEdit()->text() ); 458 QFileInfo info( m_location->lineEdit()->text() );
467 qWarning("info %s %s", info.dirPath(true).latin1(), m_location->lineEdit()->text().latin1() ); 459 qWarning("info %s %s", info.dirPath(true).latin1(), m_location->lineEdit()->text().latin1() );
468 if (info.isFile() ) 460 if (info.isFile() )
469 cd(info.dirPath(TRUE) ); //absolute path 461 cd(info.dirPath(TRUE) ); //absolute path
470 else 462 else
471 cd( m_location->lineEdit()->text() ); 463 cd( m_location->lineEdit()->text() );
472 464
473 reparse(); 465 reparse();
474} 466}
475void OFileSelector::init() 467void OFileSelector::init()
476{ 468{
469 initFactory();
477 m_lay = new QVBoxLayout( this ); 470 m_lay = new QVBoxLayout( this );
478 m_lay->setSpacing(0 ); 471 m_lay->setSpacing(0 );
479 472
480 /* take care of the main view... */ 473 /* take care of the main view... */
481 initToolbar(); 474 initToolbar();
482 475
483 /* initialize the file lister */ 476 /* initialize the file lister */
484 initLister(); 477 initLister();
485 if( m_selector == Normal ){ 478 if( m_selector == Normal ){
486 QString mime; 479 QString mime;
487 if (!m_autoMime) { 480 if (!m_autoMime) {
488 if (!m_mimetypes.isEmpty() ) { 481 if (!m_mimetypes.isEmpty() ) {
489 QMap<QString, QStringList>::Iterator it; 482 QMap<QString, QStringList>::Iterator it;
490 it = m_mimetypes.begin(); // cause we're in the init 483 it = m_mimetypes.begin(); // cause we're in the init
491 mime = it.data().join(";"); 484 mime = it.data().join(";");
492 } 485 }
493 } 486 }
494 initializeOldSelector(); 487 initializeOldSelector();
495 }else{ 488 }else{
496 initializeView(); 489 initializeView();
497 } 490 }
498 491
499 if( m_shLne ) // the LineEdit with the current FileName 492 if( m_shLne ) // the LineEdit with the current FileName
500 initializeName(); 493 initializeName();
501 494
502 if( m_shPerm ) // the Permission QCheckBox 495 if( m_shPerm ) // the Permission QCheckBox
503 initializePerm(); 496 initializePerm();
504 497
505 if( m_shChooser ) // the Chooser for the view and Mimetypes 498 if( m_shChooser ) // the Chooser for the view and Mimetypes
506 initializeChooser(); 499 initializeChooser();
507 500
508 if( m_shYesNo ) // the Yes No button row 501 if( m_shYesNo ) // the Yes No button row
509 initializeYes( ); 502 initializeYes( );
510 503
511 if (m_selector != Normal ) 504 if (m_selector != Normal )
512 reparse(); 505 reparse();
513} 506}
514void OFileSelector::updateMimes() 507void OFileSelector::updateMimes()
515{ 508{
516 if( m_autoMime ){ 509 if( m_autoMime ){
517 m_mimetypes.clear(); 510 m_mimetypes.clear();
518 m_mimetypes.insert( tr("All"), QString::null ); 511 m_mimetypes.insert( tr("All"), QString::null );
519 if( m_selector == Normal ){ 512 if( m_selector == Normal ){
520 DocLnkSet set; 513 DocLnkSet set;
521 Global::findDocuments(&set, QString::null ); 514 Global::findDocuments(&set, QString::null );
522 QListIterator<DocLnk> dit( set.children() ); 515 QListIterator<DocLnk> dit( set.children() );
523 for( ; dit.current(); ++dit ){ 516 for( ; dit.current(); ++dit ){
524 if( !m_mimetypes.contains( (*dit)->type() ) ) 517 if( !m_mimetypes.contains( (*dit)->type() ) )
@@ -608,100 +601,96 @@ void OFileSelector::initializeYes()
608{ 601{
609 /** The Save Cancel bar 602 /** The Save Cancel bar
610 * 603 *
611 */ 604 */
612 if( m_boxOk == 0 ){ 605 if( m_boxOk == 0 ){
613 m_boxOk = new QHBox( this ); 606 m_boxOk = new QHBox( this );
614 m_ok = new QPushButton( tr("&Save"),m_boxOk , "save" ); 607 m_ok = new QPushButton( tr("&Save"),m_boxOk , "save" );
615 m_cancel = new QPushButton( tr("C&ancel"), m_boxOk, "cancel" ); 608 m_cancel = new QPushButton( tr("C&ancel"), m_boxOk, "cancel" );
616 609
617 //m_boxOk->addWidget( m_ok ); 610 //m_boxOk->addWidget( m_ok );
618 //m_boxOk->addWidget( m_cancel ); 611 //m_boxOk->addWidget( m_cancel );
619 m_boxOk->setMargin( 5 ); 612 m_boxOk->setMargin( 5 );
620 m_boxOk->setSpacing( 10 ); 613 m_boxOk->setSpacing( 10 );
621 m_lay->addWidget( m_boxOk, 0 ); 614 m_lay->addWidget( m_boxOk, 0 );
622 615
623 connect( m_ok, SIGNAL( clicked() ), 616 connect( m_ok, SIGNAL( clicked() ),
624 this, SLOT(slotOk() ) ); 617 this, SLOT(slotOk() ) );
625 connect( m_cancel, SIGNAL( clicked() ), 618 connect( m_cancel, SIGNAL( clicked() ),
626 this, SLOT( slotCancel() ) ); 619 this, SLOT( slotCancel() ) );
627 } 620 }
628} 621}
629/* 622/*
630 * OK m_mimeCheck is a QComboBox we now want to fill 623 * OK m_mimeCheck is a QComboBox we now want to fill
631 * out that combobox 624 * out that combobox
632 * if automime we need to update the mimetypes 625 * if automime we need to update the mimetypes
633 */ 626 */
634void OFileSelector::updateMimeCheck() { 627void OFileSelector::updateMimeCheck() {
635 m_mimeCheck->clear(); 628 m_mimeCheck->clear();
636 if (m_autoMime ) { 629 if (m_autoMime ) {
637 //m_mimeCheck->insertItem( tr("All") ); 630 //m_mimeCheck->insertItem( tr("All") );
638 updateMimes(); 631 updateMimes();
639 } 632 }
640 633
641 QMap<QString, QStringList>::Iterator it; 634 QMap<QString, QStringList>::Iterator it;
642 for (it = m_mimetypes.begin(); it != m_mimetypes.end(); ++it ) { 635 for (it = m_mimetypes.begin(); it != m_mimetypes.end(); ++it ) {
643 m_mimeCheck->insertItem( it.key() ); 636 m_mimeCheck->insertItem( it.key() );
644 } 637 }
645} 638}
646 639
647void OFileSelector::initializeChooser() 640void OFileSelector::initializeChooser()
648{ 641{
649 if( m_boxView == 0 ){ 642 if( m_boxView == 0 ){
650 m_boxView = new QHBox( this ); 643 m_boxView = new QHBox( this );
651 m_viewCheck = new QComboBox( m_boxView, "view check"); 644 m_viewCheck = new QComboBox( m_boxView, "view check");
652 m_mimeCheck = new QComboBox( m_boxView, "mime check"); 645 m_mimeCheck = new QComboBox( m_boxView, "mime check");
653 m_boxView->setSpacing( 8 ); 646 m_boxView->setSpacing( 8 );
654 m_lay->addWidget(m_boxView, 0 ); 647 m_lay->addWidget(m_boxView, 0 );
655 648
656 m_viewCheck->insertItem( tr("Documents") );
657 m_viewCheck->insertItem( tr("Files") );
658 m_viewCheck->insertItem( tr("All Files") );
659 /* update to custom views */
660 649
661 updateMimeCheck(); 650 updateMimeCheck();
662 651
663 connect( m_viewCheck, SIGNAL( activated(const QString & ) ), 652 connect( m_viewCheck, SIGNAL( activated(const QString & ) ),
664 this, SLOT( slotViewCheck(const QString & ) ) ); 653 this, SLOT( slotViewCheck(const QString & ) ) );
665 connect( m_mimeCheck, SIGNAL( activated(const QString & ) ), 654 connect( m_mimeCheck, SIGNAL( activated(const QString & ) ),
666 this, SLOT( slotMimeCheck( const QString & ) ) ); 655 this, SLOT( slotMimeCheck( const QString & ) ) );
667 } 656 }
668} 657}
669/* generate the buttons for the toolbar */ 658/* generate the buttons for the toolbar */
670void OFileSelector::initToolbar() { 659void OFileSelector::initToolbar() {
671 m_mainView = new OFileSelectorMain( this ); 660 m_mainView = new OFileSelectorMain( this );
672 661
673 /* now generate the tool bar */ 662 /* now generate the tool bar */
674 qWarning( "toolbar" ); 663 qWarning( "toolbar" );
675 m_pseudo = new QWidget( m_mainView, "Pseudo Widget" ); 664 m_pseudo = new QWidget( m_mainView, "Pseudo Widget" );
676 m_pseudoLayout = new QVBoxLayout( m_pseudo ); 665 m_pseudoLayout = new QVBoxLayout( m_pseudo );
677 666
678 m_boxToolbar = new QHBox( m_pseudo ); 667 m_boxToolbar = new QHBox( m_pseudo );
679 m_boxToolbar->setSpacing( 0 ); 668 m_boxToolbar->setSpacing( 0 );
680 669
681 // tool bar members now 670 // tool bar members now
682 m_location = new QComboBox( m_boxToolbar ); 671 m_location = new QComboBox( m_boxToolbar );
683 m_location->setEditable( TRUE ); 672 m_location->setEditable( TRUE );
684 m_location->setDuplicatesEnabled( FALSE ); 673 m_location->setDuplicatesEnabled( FALSE );
685 connect( m_location, SIGNAL(activated(const QString& ) ), 674 connect( m_location, SIGNAL(activated(const QString& ) ),
686 this, SLOT(slotLocationActivated(const QString& )) ); 675 this, SLOT(slotLocationActivated(const QString& )) );
687 connect( m_location->lineEdit(), SIGNAL(returnPressed() ) , 676 connect( m_location->lineEdit(), SIGNAL(returnPressed() ) ,
688 this, SLOT(locationComboChanged() ) ); 677 this, SLOT(locationComboChanged() ) );
689 678
690 // UP Button 679 // UP Button
691 m_up = new QPushButton( Resource::loadIconSet("up"), QString::null, 680 m_up = new QPushButton( Resource::loadIconSet("up"), QString::null,
692 m_boxToolbar, "cdUpButton" ); 681 m_boxToolbar, "cdUpButton" );
693 m_up->setFixedSize( QSize(20, 20 ) ); 682 m_up->setFixedSize( QSize(20, 20 ) );
694 connect( m_up, SIGNAL( clicked() ), this, SLOT(cdUP() ) ); 683 connect( m_up, SIGNAL( clicked() ), this, SLOT(cdUP() ) );
695 m_up->setFlat( TRUE ); 684 m_up->setFlat( TRUE );
696 685
697 // Home Button 686 // Home Button
698 m_homeButton = new QPushButton(Resource::loadIconSet("home"), 687 m_homeButton = new QPushButton(Resource::loadIconSet("home"),
699 QString::null, m_boxToolbar ); 688 QString::null, m_boxToolbar );
700 m_homeButton->setFixedSize( QSize(20, 20 ) ); 689 m_homeButton->setFixedSize( QSize(20, 20 ) );
701 connect(m_homeButton, SIGNAL(clicked() ), this, SLOT(slotHome() ) ); 690 connect(m_homeButton, SIGNAL(clicked() ), this, SLOT(slotHome() ) );
702 m_homeButton->setFlat( TRUE ); 691 m_homeButton->setFlat( TRUE );
703 692
704 // Documents Button 693 // Documents Button
705 m_docButton = new QPushButton( Resource::loadIconSet("DocsIcon"), 694 m_docButton = new QPushButton( Resource::loadIconSet("DocsIcon"),
706 QString::null, m_boxToolbar, 695 QString::null, m_boxToolbar,
707 "docsButton" ); 696 "docsButton" );
@@ -906,119 +895,130 @@ void OFileSelector::reparse()
906{ 895{
907 if( m_selector == Normal ) 896 if( m_selector == Normal )
908 return; 897 return;
909 898
910 currentView()->clear(); 899 currentView()->clear();
911 900
912 if( m_shChooser) 901 if( m_shChooser)
913 qWarning("reparse %s", m_mimeCheck->currentText().latin1() ); 902 qWarning("reparse %s", m_mimeCheck->currentText().latin1() );
914 903
915 QString currentMimeType; 904 QString currentMimeType;
916 905
917 // let's update the mimetype 906 // let's update the mimetype
918 if( m_autoMime ){ 907 if( m_autoMime ){
919 m_mimetypes.clear(); 908 m_mimetypes.clear();
920 // ok we can change mimetype so we need to be able to give a selection 909 // ok we can change mimetype so we need to be able to give a selection
921 if( m_shChooser ) { 910 if( m_shChooser ) {
922 currentMimeType = m_mimeCheck->currentText(); 911 currentMimeType = m_mimeCheck->currentText();
923 m_mimeCheck->clear(); 912 m_mimeCheck->clear();
924 913
925 // let's find possible mimetypes 914 // let's find possible mimetypes
926 m_mimetypes = currentLister()->mimeTypes( m_currentDir ); 915 m_mimetypes = currentLister()->mimeTypes( m_currentDir );
927 916
928 // add them to the chooser 917 // add them to the chooser
929 updateMimeCheck(); 918 updateMimeCheck();
930 m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currentMimeType ) ); 919 m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currentMimeType ) );
931 currentMimeType = m_mimeCheck->currentText(); 920 currentMimeType = m_mimeCheck->currentText();
932 } 921 }
933 }else { // no autoMime 922 }else { // no autoMime
934 // let the mimetype be set from out side the m_mimeCheck FEATURE 923 // let the mimetype be set from out side the m_mimeCheck FEATURE
935 924
936 if( m_shChooser ) 925 if( m_shChooser )
937 currentMimeType = m_mimeCheck->currentText(); 926 currentMimeType = m_mimeCheck->currentText();
938 927
939 } 928 }
940 // now we got our mimetypes we can add the files 929 // now we got our mimetypes we can add the files
941 930
942 currentLister()->reparse( m_currentDir ); 931 currentLister()->reparse( m_currentDir );
943 /* we're done with adding let's sort */ 932 /* we're done with adding let's sort */
944 currentView()->sort(); 933 currentView()->sort();
945 934
946 935
947 if( m_shTool ){ 936 if( m_shTool ){
948 m_location->insertItem( m_currentDir ); 937 m_location->insertItem( m_currentDir );
949 938
950 } 939 }
951 // reenable painting and updates 940 // reenable painting and updates
952} 941}
953 942
943/*
944 * the factory
945 */
946void OFileSelector::initFactory() {
947 m_fileFactory = new OFileFactory();
948 m_fileFactory->addLister(tr("Files"), newLocalLister );
949 m_fileFactory->addView(tr("List View"), newFileListView );
950 /* the factory is just a dummy */
951 m_fileFactory->addView(tr("Documents"), newFileListView );
952}
953
954 954
955OFileView* OFileSelector::currentView() { 955OFileView* OFileSelector::currentView() {
956 return m_fileView; 956 return m_fileView;
957} 957}
958OFileView* OFileSelector::currentView() const{ 958OFileView* OFileSelector::currentView() const{
959 return m_fileView; 959 return m_fileView;
960} 960}
961int OFileSelector::filter() { 961int OFileSelector::filter() {
962 int filter; 962 int filter;
963 if ( m_selector == ExtendedAll ) 963 if ( m_selector == ExtendedAll )
964 filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All; 964 filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All;
965 else 965 else
966 filter = QDir::Files | QDir::Dirs | QDir::All ; 966 filter = QDir::Files | QDir::Dirs | QDir::All ;
967 967
968 return filter; 968 return filter;
969} 969}
970int OFileSelector::sorting() { 970int OFileSelector::sorting() {
971 int sort; 971 int sort;
972 972
973 if (m_case ) 973 if (m_case )
974 sort = ( QDir::IgnoreCase | QDir::Name | QDir::DirsFirst | QDir::Reversed ); 974 sort = ( QDir::IgnoreCase | QDir::Name | QDir::DirsFirst | QDir::Reversed );
975 else 975 else
976 sort = ( QDir::Name | QDir::DirsFirst | QDir::Reversed ); 976 sort = ( QDir::Name | QDir::DirsFirst | QDir::Reversed );
977 977
978 return sort; 978 return sort;
979} 979}
980void OFileSelector::internFileSelected( const QString& s) { 980void OFileSelector::internFileSelected( const QString& s) {
981 emit fileSelected( s ); 981 emit fileSelected( s );
982} 982}
983void OFileSelector::internFileSelected( const DocLnk& d ) { 983void OFileSelector::internFileSelected( const DocLnk& d ) {
984 emit fileSelected( d ); 984 emit fileSelected( d );
985} 985}
986void OFileSelector::internContextMenu() { 986void OFileSelector::internContextMenu() {
987 emit contextMenu(); 987 emit contextMenu();
988} 988}
989void OFileSelector::internChangedDir( const QString& s) { 989void OFileSelector::internChangedDir( const QString& s) {
990 emit dirSelected( s ); 990 emit dirSelected( s );
991 cd(s ); 991 cd(s );
992} 992}
993void OFileSelector::internChangedDir( const QDir& s) { 993void OFileSelector::internChangedDir( const QDir& s) {
994 emit dirSelected( s ); 994 emit dirSelected( s );
995} 995}
996QPixmap OFileSelector::pixmap( const QString& s ) { 996QPixmap OFileSelector::pixmap( const QString& s ) {
997 997
998 return (*m_pixmaps)[s]; 998 return (*m_pixmaps)[s];
999} 999}
1000OLister* OFileSelector::currentLister()const { 1000OLister* OFileSelector::currentLister()const {
1001 return m_lister; 1001 return m_lister;
1002} 1002}
1003void OFileSelector::initializeOldSelector() { 1003void OFileSelector::initializeOldSelector() {
1004 qWarning("initializeOldSelector"); 1004 qWarning("initializeOldSelector");
1005 1005
1006 delete m_select; 1006 delete m_select;
1007 1007
1008 // we need to initialize but keep the selected mimetype 1008 // we need to initialize but keep the selected mimetype
1009 /* we default not to show close and new buttons */ 1009 /* we default not to show close and new buttons */
1010 QString mime = currentMimeType(); 1010 QString mime = currentMimeType();
1011 qWarning("MimeType " + mime ); 1011 qWarning("MimeType " + mime );
1012 m_select = new FileSelector( mime , 1012 m_select = new FileSelector( mime ,
1013 m_mainView, "fileselector", 1013 m_mainView, "fileselector",
1014 FALSE, FALSE); 1014 FALSE, FALSE);
1015 m_select->setCategorySelectVisible( FALSE ); 1015 m_select->setCategorySelectVisible( FALSE );
1016 m_select->setTypeComboVisible( FALSE ); 1016 m_select->setTypeComboVisible( FALSE );
1017 1017
1018 connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), 1018 connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ),
1019 this, SLOT( slotFileBridgeSelected(const DocLnk & ) ) ); 1019 this, SLOT( slotFileBridgeSelected(const DocLnk & ) ) );
1020 connect(m_select, SIGNAL(closeMe() ), 1020 connect(m_select, SIGNAL(closeMe() ),
1021 this, SIGNAL(closeMe() ) ); 1021 this, SIGNAL(closeMe() ) );
1022 //connect to close me and other signals as well 1022 //connect to close me and other signals as well
1023 m_mainView->setWidget( m_select ); 1023 m_mainView->setWidget( m_select );
1024} 1024}
diff --git a/libopie/ofileselector/ofileselector.h b/libopie/ofileselector/ofileselector.h
index bf9a26b..3e834fb 100644
--- a/libopie/ofileselector/ofileselector.h
+++ b/libopie/ofileselector/ofileselector.h
@@ -25,96 +25,97 @@
25 -.   .:....=;==+<; You should have received a copy of the GNU 25 -.   .:....=;==+<; You should have received a copy of the GNU
26  -_. . .   )=.  = Library General Public License along with 26  -_. . .   )=.  = Library General Public License along with
27    --        :-=` this library; see the file COPYING.LIB. 27    --        :-=` this library; see the file COPYING.LIB.
28 If not, write to the Free Software Foundation, 28 If not, write to the Free Software Foundation,
29 Inc., 59 Temple Place - Suite 330, 29 Inc., 59 Temple Place - Suite 330,
30 Boston, MA 02111-1307, USA. 30 Boston, MA 02111-1307, USA.
31 31
32*/ 32*/
33 33
34#ifndef opiefileselector_h 34#ifndef opiefileselector_h
35#define opiefileselector_h 35#define opiefileselector_h
36 36
37#include <qpe/fileselector.h> 37#include <qpe/fileselector.h>
38 38
39#include <qdir.h> 39#include <qdir.h>
40#include <qwidget.h> 40#include <qwidget.h>
41#include <qstring.h> 41#include <qstring.h>
42#include <qpixmap.h> 42#include <qpixmap.h>
43#include <qstringlist.h> 43#include <qstringlist.h>
44#include <qmap.h> 44#include <qmap.h>
45#include <qvaluelist.h> 45#include <qvaluelist.h>
46 46
47#include <qpe/applnk.h> 47#include <qpe/applnk.h>
48#include <qlistview.h> 48#include <qlistview.h>
49 49
50/** This is OPIEs FileDialog Widget. You can use it 50/** This is OPIEs FileDialog Widget. You can use it
51 * as a dropin replacement of the fileselector and 51 * as a dropin replacement of the fileselector and
52 * or use any of the new features. 52 * or use any of the new features.
53 * This is also a complete FileSave and FileLoad widget 53 * This is also a complete FileSave and FileLoad widget
54 * If you look for a Dialog check OFileDialog 54 * If you look for a Dialog check OFileDialog
55 * 55 *
56 */ 56 */
57class DocLnk; 57class DocLnk;
58class QCheckBox; 58class QCheckBox;
59class QComboBox; 59class QComboBox;
60class QPushButton; 60class QPushButton;
61class QGridLayout; 61class QGridLayout;
62class QLineEdit; 62class QLineEdit;
63class QLabel; 63class QLabel;
64class QWidgetStack; 64class QWidgetStack;
65class QHBoxLayout; 65class QHBoxLayout;
66class QVBoxLayout; 66class QVBoxLayout;
67class QPopupMenu; 67class QPopupMenu;
68class QFileInfo; 68class QFileInfo;
69class QHBox; 69class QHBox;
70class OFileView; 70class OFileView;
71class OLister; 71class OLister;
72class OFileSelectorMain; 72class OFileSelectorMain;
73class OFileFactory;
73// 74//
74 75
75/* the mimetypes one name and a list of mimetypes */ 76/* the mimetypes one name and a list of mimetypes */
76typedef QMap< QString, QStringList> MimeTypes; 77typedef QMap< QString, QStringList> MimeTypes;
77 78
78/** 79/**
79 * FIXME later 80 * FIXME later
80 */ 81 */
81struct OPopupMenuFactory { 82struct OPopupMenuFactory {
82 OPopupMenuFactory() {} 83 OPopupMenuFactory() {}
83 84
84}; 85};
85 86
86 87
87/** 88/**
88 * Opie the default OFileSelector 89 * Opie the default OFileSelector
89 * It features multiple views. 90 * It features multiple views.
90 */ 91 */
91class OFileSelector : public QWidget { 92class OFileSelector : public QWidget {
92 Q_OBJECT 93 Q_OBJECT
93 94
94 /* friends are evil but I don't want to make the 95 /* friends are evil but I don't want to make the
95 * methods public 96 * methods public
96 */ 97 */
97 friend class OLister; 98 friend class OLister;
98 friend class OFileView; 99 friend class OFileView;
99 public: 100 public:
100 /** 101 /**
101 * The mode of the file selector 102 * The mode of the file selector
102 * Either open, save, fileselector or dir browsing mode 103 * Either open, save, fileselector or dir browsing mode
103 * 104 *
104 */ 105 */
105 enum Mode {Open = 1, Save = 2, Fileselector = 4, Dir = 8 }; 106 enum Mode {Open = 1, Save = 2, Fileselector = 4, Dir = 8 };
106 107
107 /** 108 /**
108 * Selector. Either Normal for the one shipped with 109 * Selector. Either Normal for the one shipped with
109 * libqpe or Extended. for the Extended 110 * libqpe or Extended. for the Extended
110 * ExtendedAll also shows 'hidden' files 111 * ExtendedAll also shows 'hidden' files
111 */ 112 */
112 enum Selector{Normal=0, Extended = 1, ExtendedAll = 2}; 113 enum Selector{Normal=0, Extended = 1, ExtendedAll = 2};
113 114
114 /** 115 /**
115 * This is reserved for futrue views 116 * This is reserved for futrue views
116 */ 117 */
117 enum View { Dirs = 1, Files = 2, Tree = 4, Icon = 8 }; 118 enum View { Dirs = 1, Files = 2, Tree = 4, Icon = 8 };
118 119
119 /** 120 /**
120 * A c'tor which should be used for advanced mode 121 * A c'tor which should be used for advanced mode
@@ -295,190 +296,193 @@ class OFileSelector : public QWidget {
295 * set the popup factory 296 * set the popup factory
296 */ 297 */
297 void setPopupFactory( OPopupMenuFactory * ); 298 void setPopupFactory( OPopupMenuFactory * );
298 299
299 /** 300 /**
300 * reparse the current directory and updates 301 * reparse the current directory and updates
301 * the views + mimetypes 302 * the views + mimetypes
302 */ 303 */
303 void reparse(); // re reads the dir 304 void reparse(); // re reads the dir
304 305
305 /** 306 /**
306 * return the selected name 307 * return the selected name
307 */ 308 */
308 QString selectedName( )const; 309 QString selectedName( )const;
309 310
310 /** 311 /**
311 * for multiple selections return multiple 312 * for multiple selections return multiple
312 * filenames 313 * filenames
313 */ 314 */
314 QStringList selectedNames()const; 315 QStringList selectedNames()const;
315 316
316 /** 317 /**
317 * return the complete to the file 318 * return the complete to the file
318 */ 319 */
319 QString selectedPath() const; 320 QString selectedPath() const;
320 321
321 /** 322 /**
322 * return the completed paths 323 * return the completed paths
323 */ 324 */
324 QStringList selectedPaths() const; 325 QStringList selectedPaths() const;
325 326
326 /** 327 /**
327 * the current directory 328 * the current directory
328 */ 329 */
329 QString directory()const; 330 QString directory()const;
330 331
331 /** 332 /**
332 * fileCount 333 * fileCount
333 */ 334 */
334 int fileCount(); 335 int fileCount();
335 336
336 DocLnk selectedDocument()const; 337 DocLnk selectedDocument()const;
337 338
338 QValueList<DocLnk> selectedDocuments()const; 339 QValueList<DocLnk> selectedDocuments()const;
339 340
340 OFileView* currentView(); 341 OFileView* currentView();
341 OFileView* currentView()const; 342 OFileView* currentView()const;
342 OLister* currentLister()const; 343 OLister* currentLister()const;
344 OFileFactory* factory();
343 int filter(); 345 int filter();
344 int sorting(); 346 int sorting();
345 QPixmap pixmap( const QString& ); 347 QPixmap pixmap( const QString& );
346 /* our tool bar */ 348 /* our tool bar */
347 QWidget* toolBar(); 349 QWidget* toolBar();
348 350
349 signals: 351 signals:
350 void fileSelected( const DocLnk & ); 352 void fileSelected( const DocLnk & );
351 void fileSelected( const QString & ); 353 void fileSelected( const QString & );
352 void dirSelected(const QString &dir ); 354 void dirSelected(const QString &dir );
353 void dirSelected( const QDir& ); 355 void dirSelected( const QDir& );
354 void closeMe(); 356 void closeMe();
355 void ok(); 357 void ok();
356 void cancel(); 358 void cancel();
357 void contextMenu(); 359 void contextMenu();
358 360
359 private slots: 361 private slots:
360 void slotOk(); 362 void slotOk();
361 void slotCancel(); 363 void slotCancel();
362 void slotViewCheck(const QString & ); 364 void slotViewCheck(const QString & );
363 void slotMimeCheck(const QString & ); 365 void slotMimeCheck(const QString & );
364 void slotLocationActivated(const QString & ); 366 void slotLocationActivated(const QString & );
365 void slotInsertLocationPath(const QString &, int); 367 void slotInsertLocationPath(const QString &, int);
366 void locationComboChanged(); 368 void locationComboChanged();
367 369
368 private: 370 private:
369 void init(); 371 void init();
370 void updateMimes(); 372 void updateMimes();
371 373
372 374
373 private: 375 private:
374 376
377 OFileFactory* m_fileFactory;
375 OFileSelectorMain* m_mainView; 378 OFileSelectorMain* m_mainView;
376 OLister* m_lister; 379 OLister* m_lister;
377 OFileView* m_fileView; 380 OFileView* m_fileView;
378 FileSelector* m_select; 381 FileSelector* m_select;
379 int m_mode, m_selector; 382 int m_mode, m_selector;
380 QComboBox *m_location, 383 QComboBox *m_location,
381 *m_mimeCheck, 384 *m_mimeCheck,
382 *m_viewCheck; 385 *m_viewCheck;
383 386
384 QPushButton *m_homeButton, 387 QPushButton *m_homeButton,
385 *m_docButton, 388 *m_docButton,
386 *m_hideButton, 389 *m_hideButton,
387 *m_ok, *m_cancel; 390 *m_ok, *m_cancel;
388 QPushButton *m_reread, 391 QPushButton *m_reread,
389 *m_up, 392 *m_up,
390 *m_new, 393 *m_new,
391 *m_close; 394 *m_close;
392 QListView *m_View; 395 QListView *m_View;
393 QCheckBox *m_checkPerm; 396 QCheckBox *m_checkPerm;
394 QWidget *m_pseudo; 397 QWidget *m_pseudo;
395 QVBoxLayout *m_pseudoLayout; 398 QVBoxLayout *m_pseudoLayout;
396 399
397 QString m_currentDir; 400 QString m_currentDir;
398 QString m_name; 401 QString m_name;
399 402
400 QMap<QString, QStringList> m_mimetypes; 403 QMap<QString, QStringList> m_mimetypes;
401 404
402 QVBoxLayout *m_lay; 405 QVBoxLayout *m_lay;
403 QGridLayout *m_Oselector; 406 QGridLayout *m_Oselector;
404 407
405 QHBox *m_boxToolbar; 408 QHBox *m_boxToolbar;
406 QHBox *m_boxOk; 409 QHBox *m_boxOk;
407 QHBox *m_boxName; 410 QHBox *m_boxName;
408 QHBox *m_boxView; 411 QHBox *m_boxView;
409 412
410 413
411 QLineEdit *m_edit; 414 QLineEdit *m_edit;
412 QLabel *m_fnLabel; 415 QLabel *m_fnLabel;
413 416
414 bool m_shClose : 1; 417 bool m_shClose : 1;
415 bool m_shNew : 1; 418 bool m_shNew : 1;
416 bool m_shTool : 1; 419 bool m_shTool : 1;
417 bool m_shPerm : 1; 420 bool m_shPerm : 1;
418 bool m_shLne : 1; 421 bool m_shLne : 1;
419 bool m_shChooser : 1; 422 bool m_shChooser : 1;
420 bool m_shYesNo : 1; 423 bool m_shYesNo : 1;
421 bool m_boCheckPerm : 1; 424 bool m_boCheckPerm : 1;
422 bool m_autoMime : 1; 425 bool m_autoMime : 1;
423 bool m_case : 1; 426 bool m_case : 1;
424 bool m_dir : 1; 427 bool m_dir : 1;
425 bool m_files : 1; 428 bool m_files : 1;
426 bool m_showPopup : 1; 429 bool m_showPopup : 1;
427 bool m_showHidden : 1; 430 bool m_showHidden : 1;
428 431
429 void initVars(); 432 void initVars();
430 433
431 void delItems(); 434 void delItems();
432 void initializeName(); 435 void initializeName();
433 void initializeYes(); 436 void initializeYes();
434 void initializeChooser(); 437 void initializeChooser();
435 void initializePerm(); 438 void initializePerm();
436 void initPics(); 439 void initPics();
437 bool compliesMime(const QString &path, 440 bool compliesMime(const QString &path,
438 const QString &mime); 441 const QString &mime);
439 bool compliesMime(const QString& mime ); 442 bool compliesMime(const QString& mime );
440 /** 443 /**
441 * Updates the QComboBox with the current mimetypes 444 * Updates the QComboBox with the current mimetypes
442 */ 445 */
443 void updateMimeCheck(); 446 void updateMimeCheck();
444 447
445 void initializeOldSelector(); 448 void initializeOldSelector();
446 void initLister(); 449 void initLister();
447 void initToolbar(); 450 void initToolbar();
448 void initLocations(); 451 void initLocations();
449 void initializeView() {}; // FIXME 452 void initializeView() {}; // FIXME
453 void initFactory();
450 /** 454 /**
451 * Returns the current mimetype 455 * Returns the current mimetype
452 */ 456 */
453 QString currentMimeType()const; 457 QString currentMimeType()const;
454 class OFileSelectorPrivate; 458 class OFileSelectorPrivate;
455 OFileSelectorPrivate *d; 459 OFileSelectorPrivate *d;
456 static QMap<QString,QPixmap> *m_pixmaps; 460 static QMap<QString,QPixmap> *m_pixmaps;
457 461
458private slots: 462private slots:
459 void slotFileSelected(const QString & ); // not really meant to be a slot 463 void slotFileSelected(const QString & ); // not really meant to be a slot
460 void slotFileBridgeSelected( const DocLnk & ); 464 void slotFileBridgeSelected( const DocLnk & );
461 // listview above 465 // listview above
462 // popup below 466 // popup below
463 virtual void slotDelete(); 467 virtual void slotDelete();
464 virtual void cdUP(); 468 virtual void cdUP();
465 virtual void slotHome(); 469 virtual void slotHome();
466 virtual void slotDoc(); 470 virtual void slotDoc();
467 virtual void slotNavigate( ); 471 virtual void slotNavigate( );
468 472
469 /* for OLister */ 473 /* for OLister */
470private: 474private:
471 475
472 /* for OFileView */ 476 /* for OFileView */
473private: 477private:
474 void internFileSelected( const QString& ); 478 void internFileSelected( const QString& );
475 void internFileSelected( const DocLnk& ); 479 void internFileSelected( const DocLnk& );
476 void internContextMenu(); 480 void internContextMenu();
477 void internChangedDir( const QString& ); 481 void internChangedDir( const QString& );
478 void internChangedDir( const QDir& ) ; 482 void internChangedDir( const QDir& ) ;
479 483
480}; 484};
481 485
482 486
483#endif 487#endif
484 488