aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-07-09 18:54:22 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-07-09 18:54:22 +0000
commite85b77286f66edecdc3707065e39b31f2e220f5a (patch)
tree8d92254944d3c9391c61231bc114758f9ac23370 /src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
parentc0a9e456b6a935b67f2d3357a9cef7170cfee418 (diff)
downloadqmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.tar.gz
qmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.tar.bz2
qmmp-e85b77286f66edecdc3707065e39b31f2e220f5a.zip
completed file dialog support
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@443 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp')
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp91
1 files changed, 85 insertions, 6 deletions
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
index fce9f6e53..7209394e0 100644
--- a/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
@@ -1,4 +1,26 @@
+/**************************************************************************
+* Copyright (C) 2008 by Ilya Kotov *
+* forkotov02@hotmail.ru *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program; if not, write to the *
+* Free Software Foundation, Inc., *
+* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+***************************************************************************/
+
#include <QtPlugin>
+#include <QTranslator>
+#include <QMessageBox>
#include "qmmpfiledialogimpl.h"
#include "qmmpfiledialog.h"
@@ -25,20 +47,77 @@ QmmpFileDialog::~QmmpFileDialog()
qWarning("QmmpFileDialog::~QmmpFileDialog()");
delete m_dialog;
}
-void QmmpFileDialog::raise(const QString& d,Mode m,const QStringList& f)
+void QmmpFileDialog::raise(const QString &dir, Mode mode, const QString &caption,
+ const QStringList &mask)
{
- m_dialog->setModeAndMask(d,m,f);
+ m_dialog->setModeAndMask(dir, mode, mask);
+ m_dialog->setWindowTitle(caption);
m_dialog->show();
m_dialog->raise();
}
+QString QmmpFileDialog::openFileName(QWidget *parent, const QString &caption,
+ const QString &dir, const QString &filter, QString*)
+{
+ QmmpFileDialogImpl *dialog = new QmmpFileDialogImpl(parent);
+ dialog->setWindowTitle(caption);
+ dialog->setModeAndMask(dir, FileDialog::AddFile, filter.split(";;"));
+ QStringList l;
+ if (dialog->exec() == QDialog::Accepted)
+ l = dialog->selectedFiles();
+ dialog->deleteLater();
+ if (l.isEmpty())
+ return QString();
+ else
+ return l.at(0);
+}
+
+QString QmmpFileDialog::saveFileName (QWidget *parent, const QString &caption,
+ const QString &dir, const QString &filter, QString*)
+{
+ QmmpFileDialogImpl *dialog = new QmmpFileDialogImpl(parent);
+ dialog->setWindowTitle(caption);
+ dialog->setModeAndMask(dir, FileDialog::SaveFile, filter.split(";;"));
+ QStringList l;
+ if (dialog->exec() == QDialog::Accepted)
+ l = dialog->selectedFiles();
+ dialog->deleteLater();
+ if (l.isEmpty())
+ return QString();
+ else
+ return l.at(0);
+}
+
+FileDialog* QmmpFileDialogFactory::create()
+{
+ return new QmmpFileDialog();
+}
-FileDialog* QmmpFileDialogFactory::create(){ return new QmmpFileDialog();}
+const FileDialogProperties QmmpFileDialogFactory::properties() const
+{
+ FileDialogProperties properties;
+ properties.name = tr("Qmmp File Dialog");
+ properties.hasAbout =TRUE;
+ return properties;
+}
-QString QmmpFileDialogFactory::name(){return QmmpFileDialogFactoryName;}
+void QmmpFileDialogFactory::showAbout(QWidget *parent)
+{
+ QMessageBox::about (parent, tr("About Qmmp File Dialog"),
+ tr("Qmmp File Dialog")+"\n"+
+ tr("Writen by:\n"
+ "Vladimir Kuznetsov <vovanec@gmail.com>\n"
+ "Ilya Kotov <forkotov02@hotmail.ru>")+"\n"+
+ tr("Some code is copied from the Qt library"));
-QString QmmpFileDialogFactory::QmmpFileDialogFactoryName = "Qmmp File Dialog";
+}
+QTranslator *QmmpFileDialogFactory::createTranslator(QObject *parent)
+{
+ QTranslator *translator = new QTranslator(parent);
+ QString locale = QLocale::system().name();
+ translator->load(QString(":/qmmp_file_dialog_plugin_") + locale);
+ return translator;
+}
Q_EXPORT_PLUGIN(QmmpFileDialogFactory)
-