aboutsummaryrefslogtreecommitdiff
path: root/src/ui/filedialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/filedialog.cpp')
-rw-r--r--src/ui/filedialog.cpp296
1 files changed, 0 insertions, 296 deletions
diff --git a/src/ui/filedialog.cpp b/src/ui/filedialog.cpp
deleted file mode 100644
index 0c844e8db..000000000
--- a/src/ui/filedialog.cpp
+++ /dev/null
@@ -1,296 +0,0 @@
-#include "filedialog.h"
-
-#include <QSettings>
-
-
-#include <QApplication>
-#include <QPluginLoader>
-
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-#include "playlistmodel.h"
-
-FileDialog* FileDialog::_instance = 0;
-
-QMap<QString,FileDialogFactory*> FileDialog::factories = QMap<QString,FileDialogFactory*>();
-
-FileDialog::FileDialog() : QObject(), m_initialized(false)
-{
-}
-
-
-bool FileDialog::isModal()
-{
- return instance()->modal();
-}
-
-
-void FileDialog::init(QObject* o)
-{
- if(!m_initialized && !instance()->modal())
- {
- PlayListModel* model = NULL;
- if( ( model = qobject_cast<PlayListModel*>(o)) )
- {
- connect(this,SIGNAL(filesAdded(const QStringList&)),model,SLOT(addFileList(const QStringList&)));
- m_initialized = true;
- }
- }
-}
-
-
-
-QString FileDialog::getExistingDirectory( QWidget * parent, const QString & caption, const QString & dir,bool def)
-{
- QString s;
- if(def)
- s = defaultInstance()->existingDirectory(parent,caption,dir);
- else
- s = instance()->existingDirectory(parent,caption,dir);
- delete _instance;
- _instance = 0;
- return s;
-}
-
-QString FileDialog::getOpenFileName(QWidget * parent,
- const QString & caption,
- const QString & dir,
- const QString & filter,
- QString * selectedFilter,bool def)
-{
- QString s;
- if(def)
- s = defaultInstance()->openFileName(parent,caption,dir,filter,selectedFilter);
- else
- s = instance()->openFileName(parent,caption,dir,filter,selectedFilter);
- delete _instance;
- _instance = 0;
- return s;
-}
-
-QStringList FileDialog::getOpenFileNames(QWidget * parent, const QString & caption , const QString & dir ,
- const QString & filter, QString * selectedFilter,bool def)
-{
- QStringList sl;
- if(def)
- sl = defaultInstance()->openFileNames(parent,caption ,dir ,filter, selectedFilter);
- else
- sl = instance()->openFileNames(parent,caption,dir,filter,selectedFilter);
- delete _instance;
- _instance = 0;
- return sl;
-}
-
-QString FileDialog::getSaveFileName ( QWidget * parent, const QString & caption,
- const QString & dir, const QString & filter, QString * selectedFilter,bool def)
-{
- QString s;
- if(def)
- s = defaultInstance()->saveFileName(parent,caption,dir,filter,selectedFilter);
- else
- s = instance()->saveFileName(parent,caption,dir,filter,selectedFilter);
- delete _instance;
- _instance = 0;
- return s;
-}
-
-
-QString FileDialog::existingDirectory(QWidget *, const QString &, const QString &)
-{
- return QString();
-}
-
-QString FileDialog::openFileName(QWidget *, const QString &, const QString &, const QString &, QString *)
-{
- return QString();
-}
-
-QStringList FileDialog::openFileNames(QWidget *, const QString &, const QString &, const QString &, QString *)
-{
- return QStringList();
-}
-
-QString FileDialog::saveFileName(QWidget *, const QString &, const QString &, const QString &, QString *)
-{
- return QString();
-}
-
-
-void FileDialog::registerBuiltinFactories()
-{
- registerFactory(new QtFileDialogFactory());
- //registerFactory(new QmmpFileDialogFactory());
-}
-
-void FileDialog::registerExternalFactories()
-{
- QDir pluginsDir (QDir::homePath()+"/.qmmp/plugins/FileDialogs");
-
- foreach (QString fileName, pluginsDir.entryList(QDir::Files))
- {
- QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
- QObject *plugin = loader.instance();
- if (loader.isLoaded())
- qDebug("FileDialog: plugin loaded - %s", qPrintable(fileName));
- else
- qDebug("FileDialog: %s",qPrintable(loader.errorString()));
-
- FileDialogFactory *fct = 0;
- if (plugin)
- fct = qobject_cast<FileDialogFactory *>(plugin);
-
- if (fct)
- if (!registerFactory(fct))
- qDebug("Warning: Plugin with name %s is already registered...",
- qPrintable(fct->name()));
- }
-}
-
-bool FileDialog::registerFactory(FileDialogFactory *f)
-{
- QString name = f->name();
- if (!factories.contains(name))
- {
- factories.insert(name,f);
- return true;
- }
- return false;
-}
-
-QString FileDialog::m_current_factory = QString();
-
-FileDialog* FileDialog::instance()
-{
- if(_instance && _instance->modal())
- {
- delete _instance;
- _instance = 0;
- }
-
- if(factories.isEmpty())
- {
- registerBuiltinFactories();
- registerExternalFactories();
- }
-
- QSettings settings ( QDir::homePath() +"/.qmmp/qmmprc", QSettings::IniFormat );
- QString f_dialogName =
- settings.value("FileDialog",QtFileDialogFactory::QtFileDialogFactoryName).toString();
-
- QStringList names = factories.keys();
-
- if(m_current_factory != f_dialogName || !_instance)
- {
- if(_instance)
- delete _instance;
-
- foreach(QString name,names)
- {
- if(name == f_dialogName)
- {
- _instance = factories[name]->create();
- m_current_factory = f_dialogName;
- break;
- }
- }
-
- if(!_instance)
- _instance = factories[QtFileDialogFactory::QtFileDialogFactoryName]->create();
- }
- //else if(!_instance->modal())
- //return _instance;
- // _instance->raise();
- return _instance;
-
-}
-
-FileDialog* FileDialog::defaultInstance()
-{
- if(_instance)
- {
- delete _instance;
- _instance = 0;
- }
-
- if(factories.isEmpty())
- {
- registerBuiltinFactories();
- registerExternalFactories();
- }
-
- _instance = factories[QtFileDialogFactory::QtFileDialogFactoryName]->create();
-
- return _instance;
-}
-
-QStringList FileDialog::registeredFactories()
-{
- if(factories.isEmpty())
- {
- registerBuiltinFactories();
- registerExternalFactories();
- }
- return factories.keys();
-}
-
-
-void FileDialog::popup(QObject* o,const QString& d,Mode m,const QStringList& f)
-{
- FileDialog* inst = instance();
- inst->init(o);
- inst->raise(d,m,f);
-}
-
-
-///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-QtFileDialog::~QtFileDialog()
-{
- qWarning("QtFileDialog::~QtFileDialog()");
-}
-
-QString QtFileDialog::existingDirectory(QWidget * parent, const QString & caption, const QString & dir)
-{
- return QFileDialog::getExistingDirectory(parent,caption,dir,QFileDialog::DontResolveSymlinks | QFileDialog::ShowDirsOnly);
-}
-
-QString QtFileDialog::openFileName(QWidget * parent,const QString & caption,const QString & dir,const QString & filter,
- QString * selectedFilter)
-{
- return QFileDialog::getOpenFileName(parent,caption,dir,filter);
-}
-
-QStringList QtFileDialog::openFileNames(QWidget * parent, const QString & caption , const QString & dir ,
- const QString & filter, QString * selectedFilter)
-{
- return QFileDialog::getOpenFileNames(parent,caption,dir,filter,selectedFilter);
-}
-
- QString QtFileDialog::saveFileName ( QWidget * parent, const QString & caption,
- const QString & dir, const QString & filter, QString * selectedFilter)
-{
- return QFileDialog::getSaveFileName(parent,caption,dir,filter,selectedFilter);
-}
-
-
-
-
-
-
-FileDialog* QtFileDialogFactory::create()
-{
- return new QtFileDialog();
-}
-
-QString QtFileDialogFactory::name()
-{
- return QtFileDialogFactoryName;
-}
-
-QString QtFileDialogFactory::QtFileDialogFactoryName = "Qt File Dialog";
-
-