aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-03 07:58:24 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2016-02-03 07:58:24 +0000
commitac64d9ea04cce79f4c4b8a5a64be43e5251dadce (patch)
tree5ebb2f69afd8364fd544ba4cf676254ced1cc3c6 /src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
parent3206842d6b4fe02e84267294625b21b5bc0578cc (diff)
downloadqmmp-ac64d9ea04cce79f4c4b8a5a64be43e5251dadce.tar.gz
qmmp-ac64d9ea04cce79f4c4b8a5a64be43e5251dadce.tar.bz2
qmmp-ac64d9ea04cce79f4c4b8a5a64be43e5251dadce.zip
renamed file dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@6121 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp')
-rw-r--r--src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp133
1 files changed, 133 insertions, 0 deletions
diff --git a/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
new file mode 100644
index 000000000..66f2d0214
--- /dev/null
+++ b/src/plugins/FileDialogs/TwoPanelFileDialog/twopanelfiledialog.cpp
@@ -0,0 +1,133 @@
+/**************************************************************************
+* Copyright (C) 2008-2012 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., *
+* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
+***************************************************************************/
+
+#include <QtPlugin>
+#include <QTranslator>
+#include <QMessageBox>
+#include <qmmp/qmmp.h>
+#include "twopanelfiledialogimpl.h"
+#include "twopanelfiledialog.h"
+
+TwoPanelFileDialog::TwoPanelFileDialog()
+{
+ m_dialog = new TwoPanelFileDialogImpl();
+ connect(m_dialog, SIGNAL(filesAdded(QStringList)),this, SIGNAL(filesAdded(QStringList)));
+}
+
+TwoPanelFileDialog::~TwoPanelFileDialog()
+{
+ qWarning("%s", Q_FUNC_INFO);
+ delete m_dialog;
+}
+void TwoPanelFileDialog::raise(const QString &dir, Mode mode, const QString &caption,
+ const QStringList &mask)
+{
+ m_dialog->setModeAndMask(dir, mode, mask);
+ m_dialog->setWindowTitle(caption);
+ m_dialog->show();
+ m_dialog->raise();
+}
+
+QString TwoPanelFileDialog::existingDirectory(QWidget *parent, const QString &caption, const QString &dir)
+{
+ TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(parent);
+ dialog->setWindowTitle(caption);
+ dialog->setModeAndMask(dir, FileDialog::AddDir);
+ QStringList l;
+ if (dialog->exec() == QDialog::Accepted)
+ l = dialog->selectedFiles();
+ dialog->deleteLater();
+ return l.isEmpty() ? QString() : l.at(0);
+}
+
+QString TwoPanelFileDialog::openFileName(QWidget *parent, const QString &caption,
+ const QString &dir, const QString &filter, QString*)
+{
+ TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(parent);
+ dialog->setWindowTitle(caption);
+ dialog->setModeAndMask(dir, FileDialog::AddFile, filter.split(";;"));
+ QStringList l;
+ if (dialog->exec() == QDialog::Accepted)
+ l = dialog->selectedFiles();
+ dialog->deleteLater();
+ return l.isEmpty() ? QString() : l.at(0);
+}
+
+QStringList TwoPanelFileDialog::openFileNames(QWidget *parent, const QString &caption,
+ const QString &dir, const QString &filter, QString *)
+{
+ TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(parent);
+ dialog->setWindowTitle(caption);
+ dialog->setModeAndMask(dir, FileDialog::AddFiles, filter.split(";;"));
+ QStringList l;
+ if (dialog->exec() == QDialog::Accepted)
+ l = dialog->selectedFiles();
+ dialog->deleteLater();
+ return l;
+}
+
+QString TwoPanelFileDialog::saveFileName (QWidget *parent, const QString &caption,
+ const QString &dir, const QString &filter, QString*)
+{
+ TwoPanelFileDialogImpl *dialog = new TwoPanelFileDialogImpl(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* TwoPanelFileDialogFactory::create()
+{
+ return new TwoPanelFileDialog();
+}
+
+const FileDialogProperties TwoPanelFileDialogFactory::properties() const
+{
+ FileDialogProperties properties;
+ properties.name = tr("Two-panel File Dialog");
+ properties.shortName = "twopanel_dialog";
+ properties.hasAbout = true;
+ properties.modal = false;
+ return properties;
+}
+
+void TwoPanelFileDialogFactory::showAbout(QWidget *parent)
+{
+ QMessageBox::about (parent, tr("About Two-panel File Dialog"),
+ tr("Two-panel File Dialog") + "\n" +
+ tr("Written by: Ilya Kotov <forkotov02@hotmail.ru>") + "\n" +
+ tr("Based on code from the Qt library"));
+}
+
+QTranslator *TwoPanelFileDialogFactory::createTranslator(QObject *parent)
+{
+ QTranslator *translator = new QTranslator(parent);
+ QString locale = Qmmp::systemLanguageID();
+ translator->load(QString(":/twopanel_file_dialog_plugin_") + locale);
+ return translator;
+}
+
+Q_EXPORT_PLUGIN2(TwoPanelFileDialog, TwoPanelFileDialogFactory)