summaryrefslogtreecommitdiff
Side-by-side diff
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 @@
+#include "ofilelistview.h"
+#include "olocallister.h"
+
+#include "odefaultfactories.h"
+
+extern "C" {
+
+ OFileView* newFileListView( OFileSelector* sel, QWidget* par ) {
+ return new OFileListView(par, sel );
+ }
+ OLister* newLocalLister( OFileSelector* sel) {
+ return new OLocalLister( sel );
+ }
+
+};
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 @@
+#ifndef OPIE_DEFAULT_FACTORIES_H
+#define OPIE_DEFAULT_FACTORIES_H
+
+#include "ofilefactory.h"
+
+extern "C" {
+
+ OFileView* newFileListView( OFileSelector*, QWidget* parent );
+ OLister* newLocalLister(OFileSelector* );
+
+};
+
+
+#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
@@ -31,12 +31,13 @@
#include "ofileview.h"
#include "ofileselectormain.h"
#include "ofileselector.h"
#include "olocallister.h"
#include "olister.h"
+#include "odefaultfactories.h"
QMap<QString,QPixmap> *OFileSelector::m_pixmaps = 0;
namespace {
/* let's find the index for a specified string */
int indexByString( const QComboBox *box, const QString &str ){
@@ -294,15 +295,13 @@ QStringList OFileSelector::selectedNames()const
*/
QString OFileSelector::selectedPath()const
{
QString path;
if( m_selector == Normal ){
path = QPEApplication::documentDir();
- } /*else if( m_selector == Extended || m_selector == ExtendedAll ){
- ;
- }*/
+ } /* normal case to do */
return path;
}
QStringList OFileSelector::selectedPaths() const
{
QStringList list;
list << selectedPath();
@@ -369,21 +368,14 @@ void OFileSelector::slotCancel()
void OFileSelector::slotViewCheck(const QString &sel)
{
if( sel == tr("Documents" ) ){
initializeOldSelector();
m_selector = Normal;
- }else if( sel == tr("Files") ){
- m_selector = Extended;
-
- // FIXME call the factory
- //reparse();
- }else if( sel == tr("All Files") ){
- m_selector = ExtendedAll;
-/* see above
- reparse(); */
+ }else {
+;
}
}
QString OFileSelector::currentMimeType() const{
QString mime;
QString currentText;
@@ -471,12 +463,13 @@ void OFileSelector::locationComboChanged()
cd( m_location->lineEdit()->text() );
reparse();
}
void OFileSelector::init()
{
+ initFactory();
m_lay = new QVBoxLayout( this );
m_lay->setSpacing(0 );
/* take care of the main view... */
initToolbar();
@@ -650,16 +643,12 @@ void OFileSelector::initializeChooser()
m_boxView = new QHBox( this );
m_viewCheck = new QComboBox( m_boxView, "view check");
m_mimeCheck = new QComboBox( m_boxView, "mime check");
m_boxView->setSpacing( 8 );
m_lay->addWidget(m_boxView, 0 );
- m_viewCheck->insertItem( tr("Documents") );
- m_viewCheck->insertItem( tr("Files") );
- m_viewCheck->insertItem( tr("All Files") );
- /* update to custom views */
updateMimeCheck();
connect( m_viewCheck, SIGNAL( activated(const QString & ) ),
this, SLOT( slotViewCheck(const QString & ) ) );
connect( m_mimeCheck, SIGNAL( activated(const QString & ) ),
@@ -948,12 +937,23 @@ void OFileSelector::reparse()
m_location->insertItem( m_currentDir );
}
// reenable painting and updates
}
+/*
+ * the factory
+ */
+void OFileSelector::initFactory() {
+ m_fileFactory = new OFileFactory();
+ m_fileFactory->addLister(tr("Files"), newLocalLister );
+ m_fileFactory->addView(tr("List View"), newFileListView );
+ /* the factory is just a dummy */
+ m_fileFactory->addView(tr("Documents"), newFileListView );
+}
+
OFileView* OFileSelector::currentView() {
return m_fileView;
}
OFileView* OFileSelector::currentView() const{
return m_fileView;
@@ -1010,13 +1010,13 @@ void OFileSelector::initializeOldSelector() {
QString mime = currentMimeType();
qWarning("MimeType " + mime );
m_select = new FileSelector( mime ,
m_mainView, "fileselector",
FALSE, FALSE);
m_select->setCategorySelectVisible( FALSE );
- m_select->setTypeComboVisible( FALSE );
+ m_select->setTypeComboVisible( FALSE );
connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ),
this, SLOT( slotFileBridgeSelected(const DocLnk & ) ) );
connect(m_select, SIGNAL(closeMe() ),
this, SIGNAL(closeMe() ) );
//connect to close me and other signals as well
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
@@ -67,12 +67,13 @@ class QVBoxLayout;
class QPopupMenu;
class QFileInfo;
class QHBox;
class OFileView;
class OLister;
class OFileSelectorMain;
+class OFileFactory;
//
/* the mimetypes one name and a list of mimetypes */
typedef QMap< QString, QStringList> MimeTypes;
/**
@@ -337,12 +338,13 @@ class OFileSelector : public QWidget {
QValueList<DocLnk> selectedDocuments()const;
OFileView* currentView();
OFileView* currentView()const;
OLister* currentLister()const;
+ OFileFactory* factory();
int filter();
int sorting();
QPixmap pixmap( const QString& );
/* our tool bar */
QWidget* toolBar();
@@ -369,12 +371,13 @@ class OFileSelector : public QWidget {
void init();
void updateMimes();
private:
+ OFileFactory* m_fileFactory;
OFileSelectorMain* m_mainView;
OLister* m_lister;
OFileView* m_fileView;
FileSelector* m_select;
int m_mode, m_selector;
QComboBox *m_location,
@@ -444,12 +447,13 @@ class OFileSelector : public QWidget {
void initializeOldSelector();
void initLister();
void initToolbar();
void initLocations();
void initializeView() {}; // FIXME
+ void initFactory();
/**
* Returns the current mimetype
*/
QString currentMimeType()const;
class OFileSelectorPrivate;
OFileSelectorPrivate *d;