aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Misc/FileDialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Misc/FileDialogs')
-rw-r--r--src/plugins/Misc/FileDialogs/FileDialogs.pro3
-rw-r--r--src/plugins/Misc/FileDialogs/Makefile134
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro28
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.pngbin0 -> 736 bytes
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.pngbin0 -> 551 bytes
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc8
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.pngbin0 -> 547 bytes
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp44
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h40
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui216
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp109
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h33
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro28
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp35
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h23
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp20
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h19
-rw-r--r--src/plugins/Misc/FileDialogs/Qt3FileDialog/readme14
-rwxr-xr-xsrc/plugins/Misc/FileDialogs/libQmmpFileDialog.sobin0 -> 137806 bytes
-rwxr-xr-xsrc/plugins/Misc/FileDialogs/libQt3FileDialog.sobin0 -> 104681 bytes
20 files changed, 754 insertions, 0 deletions
diff --git a/src/plugins/Misc/FileDialogs/FileDialogs.pro b/src/plugins/Misc/FileDialogs/FileDialogs.pro
new file mode 100644
index 000000000..a15058c1f
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/FileDialogs.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+SUBDIRS = Qt3FileDialog \
+ QmmpFileDialog \ No newline at end of file
diff --git a/src/plugins/Misc/FileDialogs/Makefile b/src/plugins/Misc/FileDialogs/Makefile
new file mode 100644
index 000000000..5e0580ccf
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Makefile
@@ -0,0 +1,134 @@
+#############################################################################
+# Makefile for building: FileDialogs
+# Generated by qmake (2.01a) (Qt 4.2.3) on: Tue Jul 24 19:08:22 2007
+# Project: FileDialogs.pro
+# Template: subdirs
+# Command: /usr/local/Trolltech/Qt-4.2.3/bin/qmake -unix -o Makefile FileDialogs.pro
+#############################################################################
+
+first: make_default
+MAKEFILE = Makefile
+QMAKE = /usr/local/Trolltech/Qt-4.2.3/bin/qmake
+DEL_FILE = rm -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+COPY = cp -f
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+INSTALL_FILE = install -m 644 -p
+INSTALL_PROGRAM = install -m 755 -p
+INSTALL_DIR = $(COPY_DIR)
+DEL_FILE = rm -f
+SYMLINK = ln -sf
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+SUBTARGETS = \
+ sub-Qt3FileDialog \
+ sub-QmmpFileDialog
+
+Qt3FileDialog/$(MAKEFILE):
+ @$(CHK_DIR_EXISTS) Qt3FileDialog/ || $(MKDIR) Qt3FileDialog/
+ cd Qt3FileDialog && $(QMAKE) Qt3FileDialog.pro -unix -o $(MAKEFILE)
+sub-Qt3FileDialog-qmake_all: FORCE
+ @$(CHK_DIR_EXISTS) Qt3FileDialog/ || $(MKDIR) Qt3FileDialog/
+ cd Qt3FileDialog && $(QMAKE) Qt3FileDialog.pro -unix -o $(MAKEFILE)
+sub-Qt3FileDialog: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE)
+sub-Qt3FileDialog-make_default: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE)
+sub-Qt3FileDialog-make_first: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) first
+sub-Qt3FileDialog-all: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) all
+sub-Qt3FileDialog-clean: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) clean
+sub-Qt3FileDialog-distclean: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) distclean
+sub-Qt3FileDialog-install_subtargets: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) install
+sub-Qt3FileDialog-uninstall_subtargets: Qt3FileDialog/$(MAKEFILE) FORCE
+ cd Qt3FileDialog && $(MAKE) -f $(MAKEFILE) uninstall
+QmmpFileDialog/$(MAKEFILE):
+ @$(CHK_DIR_EXISTS) QmmpFileDialog/ || $(MKDIR) QmmpFileDialog/
+ cd QmmpFileDialog && $(QMAKE) QmmpFileDialog.pro -unix -o $(MAKEFILE)
+sub-QmmpFileDialog-qmake_all: FORCE
+ @$(CHK_DIR_EXISTS) QmmpFileDialog/ || $(MKDIR) QmmpFileDialog/
+ cd QmmpFileDialog && $(QMAKE) QmmpFileDialog.pro -unix -o $(MAKEFILE)
+sub-QmmpFileDialog: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE)
+sub-QmmpFileDialog-make_default: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE)
+sub-QmmpFileDialog-make_first: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) first
+sub-QmmpFileDialog-all: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) all
+sub-QmmpFileDialog-clean: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) clean
+sub-QmmpFileDialog-distclean: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) distclean
+sub-QmmpFileDialog-install_subtargets: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) install
+sub-QmmpFileDialog-uninstall_subtargets: QmmpFileDialog/$(MAKEFILE) FORCE
+ cd QmmpFileDialog && $(MAKE) -f $(MAKEFILE) uninstall
+
+Makefile: FileDialogs.pro /usr/local/Trolltech/Qt-4.2.3/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.2.3/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.2.3/mkspecs/features/uic.prf
+ $(QMAKE) -unix -o Makefile FileDialogs.pro
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/default_pre.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.2.3/mkspecs/features/uic.prf:
+qmake: qmake_all FORCE
+ @$(QMAKE) -unix -o Makefile FileDialogs.pro
+
+qmake_all: sub-Qt3FileDialog-qmake_all sub-QmmpFileDialog-qmake_all FORCE
+
+make_default: sub-Qt3FileDialog-make_default sub-QmmpFileDialog-make_default FORCE
+make_first: sub-Qt3FileDialog-make_first sub-QmmpFileDialog-make_first FORCE
+all: sub-Qt3FileDialog-all sub-QmmpFileDialog-all FORCE
+clean: sub-Qt3FileDialog-clean sub-QmmpFileDialog-clean FORCE
+distclean: sub-Qt3FileDialog-distclean sub-QmmpFileDialog-distclean FORCE
+ -$(DEL_FILE) Makefile
+install_subtargets: sub-Qt3FileDialog-install_subtargets sub-QmmpFileDialog-install_subtargets FORCE
+uninstall_subtargets: sub-Qt3FileDialog-uninstall_subtargets sub-QmmpFileDialog-uninstall_subtargets FORCE
+
+/usr/local/Trolltech/Qt-4.2.3/bin/moc:
+ (cd $(QTDIR)/src/tools/moc && $(MAKE))
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+install: install_subtargets FORCE
+
+uninstall: uninstall_subtargets FORCE
+
+FORCE:
+
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
new file mode 100644
index 000000000..d9b8a96df
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
@@ -0,0 +1,28 @@
+QMMPROOT = ../../../qmmp
+
+INCLUDEPATH += $$QMMPROOT/src
+INCLUDEPATH += $$QMMPROOT/lib
+
+HEADERS += qmmpfiledialog.h \
+ qmmpfiledialogimpl.h \
+ $$QMMPROOT/src/filedialog.h \
+ $$QMMPROOT/src/playlistmodel.h
+
+SOURCES += qmmpfiledialog.cpp \
+ qmmpfiledialogimpl.cpp \
+ $$QMMPROOT/src/filedialog.cpp \
+ $$QMMPROOT/src/playlistmodel.cpp
+
+
+FORMS += qmmpfiledialog.ui
+
+RESOURCES += images/images.qrc
+
+DESTDIR = ../
+QMAKE_CLEAN += ../libqmmpfiledialog.so
+
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png
new file mode 100644
index 000000000..5d966a77b
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png
new file mode 100644
index 000000000..2e552a425
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc
new file mode 100644
index 000000000..c194a6b91
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc
@@ -0,0 +1,8 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource>
+ <file>cdup.png</file>
+ <file>detail.png</file>
+ <file>list.png</file>
+ </qresource>
+</RCC>
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png
new file mode 100644
index 000000000..13b44a620
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
new file mode 100644
index 000000000..fce9f6e53
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
@@ -0,0 +1,44 @@
+#include <QtPlugin>
+
+#include "qmmpfiledialogimpl.h"
+#include "qmmpfiledialog.h"
+
+
+
+QmmpFileDialog::QmmpFileDialog()
+{
+ m_dialog = new QmmpFileDialogImpl();
+ connect(m_dialog,SIGNAL(filesAdded(const QStringList&)),this,SIGNAL(filesAdded(const QStringList&)));
+}
+
+void QmmpFileDialog::handleSelected(/*const QStringList& s */)
+{
+}
+
+bool QmmpFileDialog::modal()const
+{
+ return FALSE;
+}
+
+QmmpFileDialog::~QmmpFileDialog()
+{
+ qWarning("QmmpFileDialog::~QmmpFileDialog()");
+ delete m_dialog;
+}
+void QmmpFileDialog::raise(const QString& d,Mode m,const QStringList& f)
+{
+ m_dialog->setModeAndMask(d,m,f);
+ m_dialog->show();
+ m_dialog->raise();
+}
+
+
+FileDialog* QmmpFileDialogFactory::create(){ return new QmmpFileDialog();}
+
+QString QmmpFileDialogFactory::name(){return QmmpFileDialogFactoryName;}
+
+QString QmmpFileDialogFactory::QmmpFileDialogFactoryName = "Qmmp File Dialog";
+
+
+Q_EXPORT_PLUGIN(QmmpFileDialogFactory)
+
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h
new file mode 100644
index 000000000..30a4fef59
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h
@@ -0,0 +1,40 @@
+#ifndef QMMPFILEDIALOG_H
+#define QMMPFILEDIALOG_H
+
+#include <filedialog.h>
+
+class QmmpFileDialogImpl;
+
+class QmmpFileDialog : public FileDialog
+{
+Q_OBJECT
+ public:
+ QmmpFileDialog();
+ virtual ~QmmpFileDialog();
+ virtual bool modal()const;
+ virtual void raise(const QString&,Mode = AddFiles,const QStringList& = QStringList());
+ public slots:
+ void handleSelected();
+
+ private:
+ QmmpFileDialogImpl * m_dialog;
+};
+
+
+
+
+class QmmpFileDialogFactory : public QObject, public FileDialogFactory
+{
+ Q_OBJECT
+ Q_INTERFACES(FileDialogFactory);
+ public:
+ virtual FileDialog* create();
+ virtual QString name();
+ virtual ~QmmpFileDialogFactory(){;}
+ static QString QmmpFileDialogFactoryName;
+};
+
+
+#endif
+
+
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui
new file mode 100644
index 000000000..dbfb2edc2
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui
@@ -0,0 +1,216 @@
+<ui version="4.0" >
+ <class>QmmpFileDialog</class>
+ <widget class="QDialog" name="QmmpFileDialog" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>517</width>
+ <height>312</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Add Files</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <property name="margin" >
+ <number>9</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Look in:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="lookInComboBox" >
+ <property name="sizePolicy" >
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>0</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="editable" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="upToolButton" >
+ <property name="text" >
+ <string>Up</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="images/images.qrc" >:/cdup.png</iconset>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="listToolButton" >
+ <property name="toolTip" >
+ <string>List view</string>
+ </property>
+ <property name="text" >
+ <string>lst</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="images/images.qrc" >:/list.png</iconset>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="iconToolButton" >
+ <property name="toolTip" >
+ <string>Icon view</string>
+ </property>
+ <property name="text" >
+ <string>icn</string>
+ </property>
+ <property name="icon" >
+ <iconset resource="images/images.qrc" >:/detail.png</iconset>
+ </property>
+ <property name="iconSize" >
+ <size>
+ <width>16</width>
+ <height>16</height>
+ </size>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QListView" name="fileListView" >
+ <property name="editTriggers" >
+ <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers</set>
+ </property>
+ <property name="dragEnabled" >
+ <bool>true</bool>
+ </property>
+ <property name="dragDropMode" >
+ <enum>QAbstractItemView::NoDragDrop</enum>
+ </property>
+ <property name="alternatingRowColors" >
+ <bool>false</bool>
+ </property>
+ <property name="selectionMode" >
+ <enum>QAbstractItemView::ExtendedSelection</enum>
+ </property>
+ <property name="selectionBehavior" >
+ <enum>QAbstractItemView::SelectItems</enum>
+ </property>
+ <property name="movement" >
+ <enum>QListView::Static</enum>
+ </property>
+ <property name="layoutMode" >
+ <enum>QListView::Batched</enum>
+ </property>
+ <property name="viewMode" >
+ <enum>QListView::ListMode</enum>
+ </property>
+ <property name="wordWrap" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>File name:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="fileNameLineEdit" />
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" >
+ <property name="margin" >
+ <number>0</number>
+ </property>
+ <property name="spacing" >
+ <number>6</number>
+ </property>
+ <item>
+ <spacer>
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" >
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QPushButton" name="addPushButton" >
+ <property name="text" >
+ <string>Add</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="closePushButton" >
+ <property name="text" >
+ <string>Close</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources>
+ <include location="images/images.qrc" />
+ </resources>
+ <connections>
+ <connection>
+ <sender>closePushButton</sender>
+ <signal>clicked()</signal>
+ <receiver>QmmpFileDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel" >
+ <x>459</x>
+ <y>291</y>
+ </hint>
+ <hint type="destinationlabel" >
+ <x>153</x>
+ <y>289</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
new file mode 100644
index 000000000..984cc7204
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
@@ -0,0 +1,109 @@
+#include "qmmpfiledialogimpl.h"
+
+#include <QDirModel>
+#include <QFileInfo>
+
+QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : QDialog(parent,f)
+{
+ setupUi(this);
+ setAttribute(Qt::WA_QuitOnClose, FALSE);
+ m_model = new QDirModel(this);
+ m_model->setSorting(QDir::Type /*| QDir::Name*/);
+ fileListView->setModel(m_model);
+ //fileListView->setViewMode(QListView::IconMode);
+ listToolButton->setChecked(true);
+}
+
+QmmpFileDialogImpl::~QmmpFileDialogImpl()
+{
+}
+
+void QmmpFileDialogImpl::on_lookInComboBox_activated(const QString&)
+{
+ qWarning("TODO: %s %d",__FILE__,__LINE__);
+}
+
+void QmmpFileDialogImpl::on_upToolButton_clicked()
+{
+ fileListView->setRootIndex(m_model->parent(fileListView->rootIndex()));
+ lookInComboBox->setEditText(m_model->filePath(fileListView->rootIndex()));
+}
+
+void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind)
+{
+ if(ind.isValid())
+ {
+ QFileInfo info = m_model->fileInfo(ind);
+ if(info.isDir())
+ {
+ fileListView->setRootIndex(ind);
+ lookInComboBox->setEditText(m_model->filePath(ind));
+ }
+ else
+ {
+ QStringList l;
+ l << m_model->filePath(ind);
+ emit filesAdded(l);
+ }
+ }
+
+}
+
+void QmmpFileDialogImpl::on_fileNameLineEdit_returnPressed()
+{
+ on_addPushButton_clicked();
+}
+
+void QmmpFileDialogImpl::on_addPushButton_clicked()
+{
+ QModelIndexList ml = fileListView->selectionModel()->selectedIndexes();
+ QStringList l;
+ foreach(QModelIndex i,ml)
+ l << m_model->filePath(i);
+ qWarning("!!!!!!!!!");
+ emit filesAdded(l);
+}
+
+void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, const QStringList & mask)
+{
+ if(m == FileDialog::AddFiles)
+ {
+ setWindowTitle("Add Files");
+ m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
+ }
+ else if(m == FileDialog::AddDirs)
+ {
+ setWindowTitle("Add Dirs");
+ m_model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
+ }
+ else
+ {
+ setWindowTitle("Save File");
+ m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
+ qWarning("To be implemented...");
+ }
+
+ m_model->setSorting(QDir::Type);
+ fileListView->setRootIndex(m_model->index(d));
+ m_model->sort(0);
+ lookInComboBox->setEditText(d);
+}
+
+void QmmpFileDialogImpl::on_listToolButton_toggled(bool yes)
+{
+ if(yes)
+ {
+ iconToolButton->setChecked(false);
+ fileListView->setViewMode(QListView::ListMode);
+ }
+}
+
+void QmmpFileDialogImpl::on_iconToolButton_toggled(bool yes)
+{
+ if(yes)
+ {
+ listToolButton->setChecked(false);
+ fileListView->setViewMode(QListView::IconMode);
+ }
+}
+
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
new file mode 100644
index 000000000..2be25bf05
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
@@ -0,0 +1,33 @@
+#ifndef QMMPFILEDIALOGIMPL_H
+#define QMMPFILEDIALOGIMPL_H
+
+#include "ui_qmmpfiledialog.h"
+#include <QDialog>
+
+#include "filedialog.h"
+
+class QDirModel;
+
+
+class QmmpFileDialogImpl : public QDialog , private Ui::QmmpFileDialog
+{
+Q_OBJECT
+public:
+ QmmpFileDialogImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 );
+ ~QmmpFileDialogImpl();
+ void setModeAndMask(const QString&,FileDialog::Mode m,const QStringList& mask);
+protected slots:
+ void on_lookInComboBox_activated(const QString&);
+ void on_upToolButton_clicked();
+ void on_fileListView_doubleClicked(const QModelIndex&);
+ void on_fileNameLineEdit_returnPressed();
+ void on_addPushButton_clicked();
+ void on_listToolButton_toggled(bool);
+ void on_iconToolButton_toggled(bool);
+signals:
+ void filesAdded(const QStringList&);
+protected:
+ QDirModel* m_model;
+
+};
+#endif //QMMPFILEDIALOGIMPL_H
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro b/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro
new file mode 100644
index 000000000..7954ebf01
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro
@@ -0,0 +1,28 @@
+QMMPROOT = ../../../qmmp
+
+INCLUDEPATH += $$QMMPROOT/src
+INCLUDEPATH += $$QMMPROOT/lib
+
+HEADERS += qt3filedialogfactory.h \
+ qt3filedialog.h \
+ $$QMMPROOT/src/filedialog.h \
+ $$QMMPROOT/src/playlistmodel.h
+
+SOURCES += qt3filedialog.cpp \
+ qt3filedialogfactory.cpp \
+ $$QMMPROOT/src/filedialog.cpp \
+ $$QMMPROOT/src/playlistmodel.cpp
+
+
+DESTDIR = ../
+QMAKE_CLEAN += ../libqt3filedialog.so
+
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
+QT += qt3support
+
+#target.path = /plugins/FileDialogs
+#INSTALLS += target
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp
new file mode 100644
index 000000000..b9b9bc898
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp
@@ -0,0 +1,35 @@
+#include "qt3filedialog.h"
+#include <Q3FileDialog>
+
+Qt3SupportFileDialog::~Qt3SupportFileDialog()
+{
+ qWarning("Qt3SupportFileDialog::~Qt3SupportFileDialog()");
+}
+
+QString Qt3SupportFileDialog::existingDirectory(QWidget * parent , const QString & caption, const QString & dir)
+{
+ return Q3FileDialog::getExistingDirectory ( dir,
+ parent,
+ 0,
+ caption,
+ true,
+ true );
+}
+
+QString Qt3SupportFileDialog::openFileName(QWidget * parent,const QString & caption,const QString & /*dir*/,const QString & filter,
+ QString * selectedFilter)
+{
+ return Q3FileDialog::getOpenFileName ( QString(),filter,parent,0,caption,selectedFilter);
+}
+
+QStringList Qt3SupportFileDialog::openFileNames(QWidget * parent, const QString & caption , const QString & dir ,
+ const QString & filter, QString * selectedFilter)
+{
+ return Q3FileDialog::getOpenFileNames(filter,dir,parent,0,caption,selectedFilter);
+}
+
+QString Qt3SupportFileDialog::saveFileName ( QWidget * parent, const QString & caption,
+ const QString &, const QString & filter, QString * selectedFilter)
+{
+ return Q3FileDialog::getSaveFileName(QString(),filter,parent,0,caption,selectedFilter);
+}
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h
new file mode 100644
index 000000000..bbce2e3c8
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h
@@ -0,0 +1,23 @@
+#ifndef QT3FILEDIALOG_H
+#define QT3FILEDIALOG_H
+
+#include <filedialog.h>
+
+
+class Qt3SupportFileDialog : public FileDialog
+{
+ public:
+ virtual ~Qt3SupportFileDialog();
+ virtual QString existingDirectory(QWidget * parent , const QString & , const QString & dir);
+ virtual QString openFileName(QWidget * parent,const QString & caption,const QString & dir,const QString & filter,
+ QString * selectedFilter);
+ virtual QStringList openFileNames(QWidget * parent, const QString & caption , const QString & dir ,
+ const QString & filter, QString * selectedFilter);
+ virtual QString saveFileName ( QWidget * parent, const QString & caption,
+ const QString & dir, const QString & filter, QString * selectedFilter);
+
+};
+
+#endif
+
+
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp
new file mode 100644
index 000000000..45b4260bb
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp
@@ -0,0 +1,20 @@
+#include <QtPlugin>
+#include "qt3filedialogfactory.h"
+#include "qt3filedialog.h"
+
+
+FileDialog* Qt3SupportFileDialogFactory::create()
+{
+ return new Qt3SupportFileDialog();
+}
+
+QString Qt3SupportFileDialogFactory::name()
+{
+ return Qt3SupportFileDialogFactory::Qt3SupportFileDialogFactoryName;
+}
+
+
+QString Qt3SupportFileDialogFactory::Qt3SupportFileDialogFactoryName = "Qt3 File Dialog";
+
+Q_EXPORT_PLUGIN(Qt3SupportFileDialogFactory)
+
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h
new file mode 100644
index 000000000..e5d3b4595
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h
@@ -0,0 +1,19 @@
+#ifndef QT3FILEDIALOGFACTORY_H
+#define QT3FILEDIALOGFACTORY_H
+
+
+#include <filedialog.h>
+
+class Qt3SupportFileDialogFactory : public QObject, public FileDialogFactory
+{
+ Q_OBJECT
+ Q_INTERFACES(FileDialogFactory);
+ public:
+ virtual FileDialog* create();
+ virtual QString name();
+ virtual ~Qt3SupportFileDialogFactory(){;}
+ static QString Qt3SupportFileDialogFactoryName;
+};
+
+#endif
+
diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme b/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme
new file mode 100644
index 000000000..966f7201d
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme
@@ -0,0 +1,14 @@
+This is simple example of File Dialog plugin.
+Requires Qt3Support library. This plugin developed
+mostly for QMMP customizing demonstration -
+we don't think that somebody will prefer use Qt3
+look&feel :)
+
+Build: Change QMMPROOT variable in .pro file according your
+QMMP build tree location.Then qmake && make
+
+Install: copy library into ~/.qmmp/plugins/FileDialogs directory.
+
+
+ vovanec@gmail.com
+
diff --git a/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so b/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so
new file mode 100755
index 000000000..d04ccf53a
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/libQt3FileDialog.so b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so
new file mode 100755
index 000000000..efbb0d313
--- /dev/null
+++ b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so
Binary files differ