summaryrefslogtreecommitdiff
path: root/libopie2/opieui/fileselector/ofileselector.cpp
Side-by-side diff
Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp44
1 files changed, 37 insertions, 7 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp
index b06defd..346eeae 100644
--- a/libopie2/opieui/fileselector/ofileselector.cpp
+++ b/libopie2/opieui/fileselector/ofileselector.cpp
@@ -430,6 +430,9 @@ void OFileViewFileListView::reread( bool all )
int filter;
+ filter = QDir::Dirs;
+ if ( selector()->mode() != OFileSelector::DIRECTORYSELECTOR )
+ filter = filter | QDir::Files | QDir::All;
+
if (m_all )
- filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All;
- else
- filter = QDir::Files | QDir::Dirs | QDir::All;
+ filter = filter | QDir::Hidden;
+
dir.setFilter( filter );
@@ -816,3 +819,3 @@ void OFileViewFileSystem::activate( const QString& str)
{
- m_all = (str != QObject::tr("Files") );
+ m_all = ( str.find( "All" ) != -1 );
}
@@ -876,2 +879,5 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
case Normal:
+ if ( m_mode == DIRECTORYSELECTOR )
+ str = QObject::tr("Directories");
+ else
str = QObject::tr("Documents");
@@ -880,8 +886,20 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
case Extended:
+ if ( m_mode == DIRECTORYSELECTOR )
+ {
+ str = QObject::tr("Directories");
+ m_cmbView->setCurrentItem( 0 );
+ } else {
str = QObject::tr("Files");
m_cmbView->setCurrentItem( 1 );
+ }
break;
case ExtendedAll:
+ if ( m_mode == DIRECTORYSELECTOR )
+ {
+ str = QObject::tr("All Directories");
+ m_cmbView->setCurrentItem( 1 );
+ } else {
str = QObject::tr("All Files");
m_cmbView->setCurrentItem( 2 );
+ }
break;
@@ -987,2 +1005,7 @@ void OFileSelector::initViews()
{
+ if ( m_mode == OFileSelector::DIRECTORYSELECTOR )
+ {
+ m_cmbView->insertItem( QObject::tr("Directories") );
+ m_cmbView->insertItem( QObject::tr("All Directories") );
+ } else {
m_cmbView->insertItem( QObject::tr("Documents") );
@@ -990,2 +1013,4 @@ void OFileSelector::initViews()
m_cmbView->insertItem( QObject::tr("All Files") );
+ }
+
connect(m_cmbView, SIGNAL(activated(const QString&) ),
@@ -993,7 +1018,11 @@ void OFileSelector::initViews()
-
- m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) );
-
/* see above why add both */
OFileViewInterface* in = new OFileViewFileSystem( this );
+
+ if ( m_mode == OFileSelector::DIRECTORYSELECTOR )
+ {
+ m_views.insert( QObject::tr("Directories"), in );
+ m_views.insert( QObject::tr("All Directories"), in );
+ } else {
+ m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) );
m_views.insert( QObject::tr("Files"), in );
@@ -1001,2 +1030,3 @@ void OFileSelector::initViews()
}
+}