summaryrefslogtreecommitdiff
path: root/libopie2/opieui/fileselector/ofileselector.cpp
Unidiff
Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp26
1 files changed, 23 insertions, 3 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp
index 346eeae..e8d502f 100644
--- a/libopie2/opieui/fileselector/ofileselector.cpp
+++ b/libopie2/opieui/fileselector/ofileselector.cpp
@@ -527,12 +527,20 @@ bool OFileViewFileListView::eventFilter (QObject *, QEvent *e)
527 return true; 527 return true;
528 } 528 }
529 } 529 }
530 return false; 530 return false;
531} 531}
532 532
533/**
534 * @return true if the item show all files or directories
535 */
536bool OFileViewFileListView::allItem( const QString& item )const
537{
538 return m_sel->allItem( item );
539}
540
533void OFileViewFileListView::connectSlots() 541void OFileViewFileListView::connectSlots()
534{ 542{
535 connect(m_view, SIGNAL(clicked(QListViewItem*) ), 543 connect(m_view, SIGNAL(clicked(QListViewItem*) ),
536 this, SLOT(slotCurrentChanged(QListViewItem*) ) ); 544 this, SLOT(slotCurrentChanged(QListViewItem*) ) );
537 connect(m_view, SIGNAL(mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ), 545 connect(m_view, SIGNAL(mouseButtonClicked(int,QListViewItem*,const QPoint&,int) ),
538 this, SLOT(slotClicked(int,QListViewItem*,const QPoint&,int) ) ); 546 this, SLOT(slotClicked(int,QListViewItem*,const QPoint&,int) ) );
@@ -812,15 +820,15 @@ QWidget* OFileViewFileSystem::widget( QWidget* parent )
812 { 820 {
813 m_view = new OFileViewFileListView( parent, startDirectory(), selector() ); 821 m_view = new OFileViewFileListView( parent, startDirectory(), selector() );
814 } 822 }
815 return m_view; 823 return m_view;
816} 824}
817 825
818void OFileViewFileSystem::activate( const QString& str) 826void OFileViewFileSystem::activate( const QString& str )
819{ 827{
820 m_all = ( str.find( "All" ) != -1 ); 828 m_all = m_view->allItem( str );
821} 829}
822 830
823 831
824} 832}
825/* Selector */ 833/* Selector */
826/** 834/**
@@ -864,12 +872,14 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
864 m_mimeType = mimetypes; 872 m_mimeType = mimetypes;
865 m_startDir = dirName; 873 m_startDir = dirName;
866 874
867 m_mode = mode; 875 m_mode = mode;
868 m_selector = sel; 876 m_selector = sel;
869 877
878 m_allList = new QStringList();
879
870 initUI(); 880 initUI();
871 m_lneEdit->setText( fileName ); 881 m_lneEdit->setText( fileName );
872 initMime(); 882 initMime();
873 initViews(); 883 initViews();
874 884
875 QString str; 885 QString str;
@@ -1020,16 +1030,18 @@ void OFileSelector::initViews()
1020 OFileViewInterface* in = new OFileViewFileSystem( this ); 1030 OFileViewInterface* in = new OFileViewFileSystem( this );
1021 1031
1022 if ( m_mode == OFileSelector::DIRECTORYSELECTOR ) 1032 if ( m_mode == OFileSelector::DIRECTORYSELECTOR )
1023 { 1033 {
1024 m_views.insert( QObject::tr("Directories"), in ); 1034 m_views.insert( QObject::tr("Directories"), in );
1025 m_views.insert( QObject::tr("All Directories"), in ); 1035 m_views.insert( QObject::tr("All Directories"), in );
1036 m_allList->append( QObject::tr("All Directories") );
1026 } else { 1037 } else {
1027 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) ); 1038 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) );
1028 m_views.insert( QObject::tr("Files"), in ); 1039 m_views.insert( QObject::tr("Files"), in );
1029 m_views.insert( QObject::tr("All Files"), in ); 1040 m_views.insert( QObject::tr("All Files"), in );
1041 m_allList->append( QObject::tr("All Files") );
1030 } 1042 }
1031} 1043}
1032 1044
1033void OFileSelector::registerView( const Internal::OFileViewInterface* iface ) { 1045void OFileSelector::registerView( const Internal::OFileViewInterface* iface ) {
1034 m_viewsPtr.append( iface ); 1046 m_viewsPtr.append( iface );
1035} 1047}
@@ -1143,12 +1155,20 @@ int OFileSelector::mode()const
1143 */ 1155 */
1144int OFileSelector::selector()const 1156int OFileSelector::selector()const
1145{ 1157{
1146 return m_selector; 1158 return m_selector;
1147} 1159}
1148 1160
1161/**
1162 * @return true if the item show all files or directories
1163 */
1164bool OFileSelector::allItem( const QString& item )const
1165{
1166 return ( m_allList->findIndex( item ) != -1 );
1167}
1168
1149QStringList OFileSelector::currentMimeType()const 1169QStringList OFileSelector::currentMimeType()const
1150{ 1170{
1151 return m_mimeType[m_cmbMime->currentText()]; 1171 return m_mimeType[m_cmbMime->currentText()];
1152} 1172}
1153 1173
1154void OFileSelector::slotMimeTypeChanged() 1174void OFileSelector::slotMimeTypeChanged()
@@ -1172,21 +1192,21 @@ void OFileSelector::slotFileBridge( const QString& str)
1172void OFileSelector::slotViewChange( const QString& view ) 1192void OFileSelector::slotViewChange( const QString& view )
1173{ 1193{
1174 OFileViewInterface* interface = m_views[view]; 1194 OFileViewInterface* interface = m_views[view];
1175 if (!interface) 1195 if (!interface)
1176 return; 1196 return;
1177 1197
1178 interface->activate( view );
1179 if (m_current) 1198 if (m_current)
1180 m_stack->removeWidget( m_current->widget( m_stack ) ); 1199 m_stack->removeWidget( m_current->widget( m_stack ) );
1181 1200
1182 static int id = 1; 1201 static int id = 1;
1183 1202
1184 m_stack->addWidget( interface->widget(m_stack), id ); 1203 m_stack->addWidget( interface->widget(m_stack), id );
1185 m_stack->raiseWidget( id ); 1204 m_stack->raiseWidget( id );
1186 1205
1206 interface->activate( view );
1187 interface->reread(); 1207 interface->reread();
1188 m_current = interface; 1208 m_current = interface;
1189 1209
1190 id++; 1210 id++;
1191} 1211}
1192 1212