-rw-r--r-- | libopie/ofileselector/ofileselector.cpp | 102 | ||||
-rw-r--r-- | libopie/ofileselector/ofileselector.h | 8 |
2 files changed, 95 insertions, 15 deletions
diff --git a/libopie/ofileselector/ofileselector.cpp b/libopie/ofileselector/ofileselector.cpp index 91a510f..7f38f5b 100644 --- a/libopie/ofileselector/ofileselector.cpp +++ b/libopie/ofileselector/ofileselector.cpp | |||
@@ -369,9 +369,3 @@ void OFileSelector::slotViewCheck(const QString &sel) | |||
369 | { | 369 | { |
370 | if( sel == tr("Documents" ) ){ | 370 | setView( sel ); |
371 | initializeOldSelector(); | ||
372 | m_selector = Normal; | ||
373 | |||
374 | }else { | ||
375 | ; | ||
376 | } | ||
377 | } | 371 | } |
@@ -476,3 +470,2 @@ void OFileSelector::init() | |||
476 | /* initialize the file lister */ | 470 | /* initialize the file lister */ |
477 | initLister(); | ||
478 | if( m_selector == Normal ){ | 471 | if( m_selector == Normal ){ |
@@ -650,2 +643,3 @@ void OFileSelector::initializeChooser() | |||
650 | updateMimeCheck(); | 643 | updateMimeCheck(); |
644 | fillList(); | ||
651 | 645 | ||
@@ -725,6 +719,2 @@ void OFileSelector::initToolbar() { | |||
725 | } | 719 | } |
726 | /* initialize the OLocalLister */ | ||
727 | void OFileSelector::initLister() { | ||
728 | m_lister = new OLocalLister(this); | ||
729 | } | ||
730 | /* put default locations into the bar */ | 720 | /* put default locations into the bar */ |
@@ -941,3 +931,50 @@ void OFileSelector::reparse() | |||
941 | } | 931 | } |
942 | 932 | /* switch lister to @param lister */ | |
933 | void OFileSelector::setLister(const QString& lister) { | ||
934 | QStringList listerList = factory()->lister(); | ||
935 | |||
936 | if (listerList.contains(lister) ) { | ||
937 | delete (OLister*) m_lister; | ||
938 | m_lister = factory()->lister( lister, this ); | ||
939 | }else if (!m_lister ) { | ||
940 | /* | ||
941 | * if we do not have a lister | ||
942 | * we need to take the default one | ||
943 | */ | ||
944 | m_lister = new OLocalLister(this); | ||
945 | } | ||
946 | m_listerName = lister; | ||
947 | } | ||
948 | void OFileSelector::setView( const QString& lis ) { | ||
949 | qWarning("setView "); | ||
950 | fillList(); | ||
951 | if ( lis == tr("Documents") ) { | ||
952 | m_selector = Normal; | ||
953 | delete m_lister; | ||
954 | delete m_fileView; | ||
955 | m_lister = 0l; | ||
956 | m_fileView = 0l; | ||
957 | initializeOldSelector(); | ||
958 | }else { | ||
959 | QString list; | ||
960 | |||
961 | delete m_lister; | ||
962 | delete m_fileView; | ||
963 | delete m_select; | ||
964 | m_lister =0l; | ||
965 | m_fileView = 0l; | ||
966 | m_select = 0l; | ||
967 | if ( lis.startsWith("All") ) { | ||
968 | m_selector = ExtendedAll; | ||
969 | list = lis.mid(4 ).stripWhiteSpace(); | ||
970 | } else{ | ||
971 | list = lis; | ||
972 | m_selector = Extended; | ||
973 | } | ||
974 | setLister(m_listerName); | ||
975 | m_fileView = factory()->view( list, this, m_mainView ); | ||
976 | m_mainView->setWidget( m_fileView->widget() ); | ||
977 | reparse(); | ||
978 | } | ||
979 | } | ||
943 | /* | 980 | /* |
@@ -952,2 +989,23 @@ void OFileSelector::initFactory() { | |||
952 | } | 989 | } |
990 | void OFileSelector::fillList() { | ||
991 | qWarning("fill list"); | ||
992 | if (!m_viewCheck ) | ||
993 | return; | ||
994 | |||
995 | m_viewCheck->clear(); | ||
996 | QStringList list = factory()->views(); | ||
997 | qWarning("views: " + list.join(";") ); | ||
998 | for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { | ||
999 | qWarning( (*it) ); | ||
1000 | if ( (*it) == tr("Documents") ) { | ||
1001 | m_viewCheck->insertItem( (*it) ); | ||
1002 | }else{ | ||
1003 | m_viewCheck->insertItem( (*it) ); | ||
1004 | m_viewCheck->insertItem( tr("All ") + (*it) ); | ||
1005 | } | ||
1006 | } | ||
1007 | } | ||
1008 | OFileFactory* OFileSelector::factory() { | ||
1009 | return m_fileFactory; | ||
1010 | } | ||
953 | 1011 | ||
@@ -1024 +1082,19 @@ void OFileSelector::initializeOldSelector() { | |||
1024 | } | 1082 | } |
1083 | /* | ||
1084 | * initialize the listview | ||
1085 | * we will call fillList | ||
1086 | * setLister | ||
1087 | * with QString::null to get the default | ||
1088 | * setView with either Files or All Files | ||
1089 | * depending on Extended | ||
1090 | */ | ||
1091 | void OFileSelector::initializeView() { | ||
1092 | setLister(QString::null); | ||
1093 | fillList(); | ||
1094 | if (m_selector == Extended ) { | ||
1095 | setView( tr("Files") ); | ||
1096 | }else{ | ||
1097 | setView( tr("All Files") ); | ||
1098 | } | ||
1099 | } | ||
1100 | |||
diff --git a/libopie/ofileselector/ofileselector.h b/libopie/ofileselector/ofileselector.h index 3e834fb..76c3ced 100644 --- a/libopie/ofileselector/ofileselector.h +++ b/libopie/ofileselector/ofileselector.h | |||
@@ -39,2 +39,3 @@ | |||
39 | #include <qdir.h> | 39 | #include <qdir.h> |
40 | #include <qguardedptr.h> | ||
40 | #include <qwidget.h> | 41 | #include <qwidget.h> |
@@ -233,2 +234,4 @@ class OFileSelector : public QWidget { | |||
233 | 234 | ||
235 | void setLister( const QString& name ); | ||
236 | void setView( const QString& all ); | ||
234 | /** | 237 | /** |
@@ -379,2 +382,3 @@ class OFileSelector : public QWidget { | |||
379 | OLister* m_lister; | 382 | OLister* m_lister; |
383 | QString m_listerName; | ||
380 | OFileView* m_fileView; | 384 | OFileView* m_fileView; |
@@ -448,6 +452,6 @@ class OFileSelector : public QWidget { | |||
448 | void initializeOldSelector(); | 452 | void initializeOldSelector(); |
449 | void initLister(); | ||
450 | void initToolbar(); | 453 | void initToolbar(); |
451 | void initLocations(); | 454 | void initLocations(); |
452 | void initializeView() {}; // FIXME | 455 | void initializeView(); // FIXME |
456 | void fillList(); | ||
453 | void initFactory(); | 457 | void initFactory(); |