summaryrefslogtreecommitdiff
path: root/core/apps/textedit/fileBrowser.cpp
Side-by-side diff
Diffstat (limited to 'core/apps/textedit/fileBrowser.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/apps/textedit/fileBrowser.cpp92
1 files changed, 62 insertions, 30 deletions
diff --git a/core/apps/textedit/fileBrowser.cpp b/core/apps/textedit/fileBrowser.cpp
index 2e88067..92c15cb 100644
--- a/core/apps/textedit/fileBrowser.cpp
+++ b/core/apps/textedit/fileBrowser.cpp
@@ -16,5 +16,8 @@
#include <qpe/resource.h>
+#include <qpe/fileselector.h>
#include <qpe/qpeapplication.h>
+#include <qwidgetstack.h>
#include <qlistview.h>
+#include <qcombo.h>
#include <qpushbutton.h>
@@ -25,3 +28,7 @@
-
+static int u_id = 1;
+static int get_unique_id()
+{
+ return u_id++;
+}
@@ -46,10 +53,2 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
- hideButton = new QPushButton( Resource::loadIconSet("s_hidden"),"",this,"hideButton");
- hideButton->setMinimumSize( QSize( 25, 25 ) );
- hideButton->setMaximumSize( QSize( 25, 25 ) );
- connect( hideButton,SIGNAL(toggled(bool)),this,SLOT( hideButtonPushed(bool)) );
- hideButton->setToggleButton(TRUE);
- hideButton->setFlat(TRUE);
- layout->addWidget( hideButton, 0, 1 );
-
docButton = new QPushButton(Resource::loadIconSet("DocsIcon"),"",this,"docsButton");
@@ -59,3 +58,3 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
docButton->setFlat(TRUE);
- layout->addWidget( docButton, 0, 2 );
+ layout->addWidget( docButton, 0, 1 );
@@ -66,5 +65,7 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
homeButton->setFlat(TRUE);
- layout->addWidget( homeButton, 0, 3 );
+ layout->addWidget( homeButton, 0, 2 );
+
+ FileStack = new QWidgetStack( this );
- ListView = new QListView( this, "ListView" );
+ ListView = new QListView( this, "ListView" );
ListView->setMinimumSize( QSize( 100, 25 ) );
@@ -80,9 +81,21 @@ fileBrowser::fileBrowser( QWidget* parent, const char* name, bool modal, WFlags
// ListView->setSelectionMode(QListView::Extended);
-
ListView->setAllColumnsShowFocus( TRUE );
- layout->addMultiCellWidget( ListView, 1, 1, 0, 3 );
-
- // signals and slots connections
- connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
connect( ListView, SIGNAL(pressed( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
+ FileStack->addWidget( ListView, get_unique_id() );
+
+ fileSelector = new FileSelector( "text/*", FileStack, "fileselector" , FALSE, FALSE); //buggy
+// connect( fileSelector, SIGNAL( closeMe() ), this, SLOT( showEditTools() ) );
+// connect( fileSelector, SIGNAL( newSelected( const DocLnk &) ), this, SLOT( newFile( const DocLnk & ) ) );
+ connect( fileSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( docOpen( const DocLnk & ) ) );
+ layout->addMultiCellWidget( FileStack, 1, 1, 0, 2 );
+
+ SelectionCombo = new QComboBox( FALSE, this, "SelectionCombo" );
+ SelectionCombo->setMinimumSize( QSize( 200, 25 ) );
+ SelectionCombo->insertItem( tr( "Documents" ) );
+ SelectionCombo->insertItem( tr( "All files" ) );
+ SelectionCombo->insertItem( tr( "All files (incl. hidden)" ) );
+ layout->addMultiCellWidget( SelectionCombo, 2, 2, 0, 2 );
+ connect( SelectionCombo, SIGNAL( activated( const QString & ) ),
+ this, SLOT( selectionChanged( const QString & ) ) );
+
currentDir.setPath(QDir::currentDirPath());
@@ -98,2 +111,7 @@ fileBrowser::~fileBrowser()
+void fileBrowser::setFileView( int selection )
+{
+ SelectionCombo->setCurrentItem( selection );
+ selectionChanged( SelectionCombo->currentText() );
+}
@@ -142,6 +160,2 @@ void fileBrowser::upDir()
-void fileBrowser::listDoubleClicked(QListViewItem *selectedItem)
-{
-}
-
// you may want to switch these 2 functions. I like single clicks
@@ -218,13 +232,31 @@ void fileBrowser::docButtonPushed() {
-void fileBrowser::hideButtonPushed(bool b) {
- if (b)
- currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
+void fileBrowser::selectionChanged( const QString &select )
+{
+ if ( select == "Documents")
+ {
+ FileStack->raiseWidget( fileSelector );
+ dirLabel->hide();
+ docButton->hide();
+ homeButton->hide();
+ }
else
- currentDir.setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
-
-// chdir( QString(QPEApplication::documentDir()+"/text").latin1() );
-// currentDir.cd( QPEApplication::documentDir()+"/text", TRUE);
- populateList();
- update();
+ {
+ if ( select == "All files" )
+ currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::All);
+ else
+ currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
+ populateList();
+ update();
+ dirLabel->show();
+ docButton->show();
+ homeButton->show();
+ FileStack->raiseWidget( ListView );
+ }
+}
+
+void fileBrowser::docOpen( const DocLnk &doc )
+{
+ fileList.append( doc.file().latin1() );
+ accept();
}