diff options
Diffstat (limited to 'src/plugins/Misc/FileDialogs')
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 Binary files differnew file mode 100644 index 000000000..5d966a77b --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png Binary files differnew file mode 100644 index 000000000..2e552a425 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png 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 Binary files differnew file mode 100644 index 000000000..13b44a620 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png 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 Binary files differnew file mode 100755 index 000000000..d04ccf53a --- /dev/null +++ b/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so diff --git a/src/plugins/Misc/FileDialogs/libQt3FileDialog.so b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so Binary files differnew file mode 100755 index 000000000..efbb0d313 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so |
