aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-19 13:54:07 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-06-19 13:54:07 +0000
commitc2a415452b1dc62b68cb3f5cd9ca4214e2299e84 (patch)
tree95b8e4df59e5678992e4f13cbeb331feb57bf2d2 /src
parent41f4d6994cff2aa55638b5b4f47146d82ebf185d (diff)
downloadqmmp-c2a415452b1dc62b68cb3f5cd9ca4214e2299e84.tar.gz
qmmp-c2a415452b1dc62b68cb3f5cd9ca4214e2299e84.tar.bz2
qmmp-c2a415452b1dc62b68cb3f5cd9ca4214e2299e84.zip
enabled qmmp file dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@428 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/CMakeLists.txt3
-rw-r--r--src/plugins/FileDialogs/CMakeLists.txt5
-rw-r--r--src/plugins/FileDialogs/FileDialogs.pro2
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt61
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro31
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp (renamed from src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp)0
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.h (renamed from src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h)2
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui (renamed from src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui)96
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp (renamed from src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp)33
-rw-r--r--src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h (renamed from src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h)18
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro28
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.pngbin736 -> 0 bytes
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.pngbin551 -> 0 bytes
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc8
-rw-r--r--src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.pngbin547 -> 0 bytes
-rw-r--r--src/plugins/plugins.pro3
-rw-r--r--src/qmmpui/CMakeLists.txt2
-rw-r--r--src/qmmpui/filedialog.cpp (renamed from src/ui/filedialog.cpp)99
-rw-r--r--src/qmmpui/filedialog.h125
-rw-r--r--src/qmmpui/qmmpui.pro6
-rw-r--r--src/ui/CMakeLists.txt2
-rw-r--r--src/ui/configdialog.cpp2
-rw-r--r--src/ui/eqwidget.cpp2
-rw-r--r--src/ui/filedialog.h109
-rw-r--r--src/ui/mainwindow.cpp8
-rw-r--r--src/ui/ui.pro2
26 files changed, 392 insertions, 255 deletions
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index a72b8e51b..32dc59f34 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -4,4 +4,5 @@ add_subdirectory(Visual)
add_subdirectory(Effect)
add_subdirectory(General)
add_subdirectory(PlaylistFormats)
-add_subdirectory(CommandLineOptions) \ No newline at end of file
+add_subdirectory(CommandLineOptions)
+add_subdirectory(FileDialogs)
diff --git a/src/plugins/FileDialogs/CMakeLists.txt b/src/plugins/FileDialogs/CMakeLists.txt
new file mode 100644
index 000000000..8fd39edfd
--- /dev/null
+++ b/src/plugins/FileDialogs/CMakeLists.txt
@@ -0,0 +1,5 @@
+SET(USE_QMMP_DIALOG TRUE CACHE BOOL "enable/disable Qmmp file dialog")
+
+IF(USE_QMMP_DIALOG)
+add_subdirectory(QmmpFileDialog)
+ENDIF(USE_QMMP_DIALOG)
diff --git a/src/plugins/FileDialogs/FileDialogs.pro b/src/plugins/FileDialogs/FileDialogs.pro
new file mode 100644
index 000000000..7893b306e
--- /dev/null
+++ b/src/plugins/FileDialogs/FileDialogs.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS += QmmpFileDialog
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt b/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt
new file mode 100644
index 000000000..e952b1d35
--- /dev/null
+++ b/src/plugins/FileDialogs/QmmpFileDialog/CMakeLists.txt
@@ -0,0 +1,61 @@
+project(libqmmpfiledialog)
+
+cmake_minimum_required(VERSION 2.4.0)
+
+if(COMMAND cmake_policy)
+cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+
+# qt plugin
+ADD_DEFINITIONS( -Wall )
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+ADD_DEFINITIONS(-DQT_PLUGIN)
+ADD_DEFINITIONS(-DQT_NO_DEBUG)
+ADD_DEFINITIONS(-DQT_SHARED)
+ADD_DEFINITIONS(-DQT_THREAD)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+SET(QT_INCLUDES
+ ${QT_INCLUDES}
+ ${CMAKE_CURRENT_BINARY_DIR}/../../../
+)
+
+# libqmmpui
+include_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmpui)
+
+SET(libqmmpfiledialog_SRCS
+ qmmpfiledialogimpl.cpp
+ qmmpfiledialog.cpp
+)
+
+SET(libqmmpfiledialog_MOC_HDRS
+ qmmpfiledialogimpl.h
+ qmmpfiledialog.h
+)
+
+#SET(libqmmpfiledialog_RCCS
+# translations/translations.qrc
+# qmmpfiledialog_images.qrc)
+
+#QT4_ADD_RESOURCES(libqmmpfiledialog_RCC_SRCS ${libqmmpfiledialog_RCCS})
+
+QT4_WRAP_CPP(libqmmpfiledialog_MOC_SRCS ${libqmmpfiledialog_MOC_HDRS})
+
+# user interface
+
+
+SET(libqmmpfiledialog_UIS
+ qmmpfiledialog.ui
+)
+
+QT4_WRAP_UI(libqmmpfiledialog_UIS_H ${libqmmpfiledialog_UIS})
+# Don't forget to include output directory, otherwise
+# the UI file won't be wrapped!
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+ADD_LIBRARY(qmmpfiledialog SHARED ${libqmmpfiledialog_SRCS} ${libqmmpfiledialog_MOC_SRCS} ${libqmmpfiledialog_UIS_H} ${libqmmpfiledialog_RCC_SRCS})
+target_link_libraries(qmmpfiledialog ${QT_LIBRARIES} -lqmmpui)
+install(TARGETS qmmpfiledialog DESTINATION ${LIB_DIR}/qmmp/FileDialogs)
diff --git a/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
new file mode 100644
index 000000000..8722d6f86
--- /dev/null
+++ b/src/plugins/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
@@ -0,0 +1,31 @@
+include(../../plugins.pri)
+
+INCLUDEPATH += ../../../../src
+
+TARGET =$$PLUGINS_PREFIX/FileDialogs/qmmpfiledialog
+QMAKE_CLEAN =$$PLUGINS_PREFIX/FileDialogs/libqmmpfiledialog.so
+
+HEADERS += qmmpfiledialog.h \
+ qmmpfiledialogimpl.h
+
+SOURCES += qmmpfiledialog.cpp \
+ qmmpfiledialogimpl.cpp
+
+
+FORMS += qmmpfiledialog.ui
+
+
+QMAKE_CLEAN += ../libqmmpfiledialog.so
+
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
+QMAKE_LIBDIR += ../../../../lib
+
+isEmpty(LIB_DIR){
+ LIB_DIR = /lib
+}
+target.path = $$LIB_DIR/qmmp/FileDialogs
+INSTALLS += target
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
index fce9f6e53..fce9f6e53 100644
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.h
index 30a4fef59..2b69e06c3 100644
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.h
@@ -1,7 +1,7 @@
#ifndef QMMPFILEDIALOG_H
#define QMMPFILEDIALOG_H
-#include <filedialog.h>
+#include <qmmpui/filedialog.h>
class QmmpFileDialogImpl;
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui
index dbfb2edc2..932e0b961 100644
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui
@@ -12,21 +12,42 @@
<property name="windowTitle" >
<string>Add Files</string>
</property>
+ <property name="sizeGripEnabled" >
+ <bool>true</bool>
+ </property>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>9</number>
+ </property>
+ <property name="topMargin" >
+ <number>9</number>
+ </property>
+ <property name="rightMargin" >
+ <number>9</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>9</number>
+ </property>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label_2" >
<property name="text" >
@@ -37,9 +58,7 @@
<item>
<widget class="QComboBox" name="lookInComboBox" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -54,8 +73,8 @@
<property name="text" >
<string>Up</string>
</property>
- <property name="icon" >
- <iconset resource="images/images.qrc" >:/cdup.png</iconset>
+ <property name="autoRaise" >
+ <bool>true</bool>
</property>
</widget>
</item>
@@ -67,12 +86,12 @@
<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>
+ <property name="autoRaise" >
+ <bool>true</bool>
+ </property>
</widget>
</item>
<item>
@@ -83,9 +102,6 @@
<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>
@@ -95,6 +111,9 @@
<property name="checkable" >
<bool>true</bool>
</property>
+ <property name="autoRaise" >
+ <bool>true</bool>
+ </property>
</widget>
</item>
</layout>
@@ -108,7 +127,7 @@
<bool>true</bool>
</property>
<property name="dragDropMode" >
- <enum>QAbstractItemView::NoDragDrop</enum>
+ <enum>QAbstractItemView::DragDrop</enum>
</property>
<property name="alternatingRowColors" >
<bool>false</bool>
@@ -120,7 +139,13 @@
<enum>QAbstractItemView::SelectItems</enum>
</property>
<property name="movement" >
- <enum>QListView::Static</enum>
+ <enum>QListView::Free</enum>
+ </property>
+ <property name="isWrapping" stdset="0" >
+ <bool>true</bool>
+ </property>
+ <property name="resizeMode" >
+ <enum>QListView::Adjust</enum>
</property>
<property name="layoutMode" >
<enum>QListView::Batched</enum>
@@ -128,6 +153,9 @@
<property name="viewMode" >
<enum>QListView::ListMode</enum>
</property>
+ <property name="uniformItemSizes" >
+ <bool>false</bool>
+ </property>
<property name="wordWrap" >
<bool>true</bool>
</property>
@@ -135,12 +163,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="label" >
<property name="text" >
@@ -155,12 +192,21 @@
</item>
<item>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<spacer>
<property name="orientation" >
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
index 984cc7204..cef212d9f 100644
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp
@@ -1,7 +1,9 @@
#include "qmmpfiledialogimpl.h"
#include <QDirModel>
+#include <QApplication>
#include <QFileInfo>
+#include <QStyle>
QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : QDialog(parent,f)
{
@@ -9,10 +11,13 @@ QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : Q
setAttribute(Qt::WA_QuitOnClose, FALSE);
m_model = new QDirModel(this);
m_model->setSorting(QDir::Type /*| QDir::Name*/);
- fileListView->setModel(m_model);
+ fileListView->setModel(m_model);
//fileListView->setViewMode(QListView::IconMode);
listToolButton->setChecked(true);
-}
+ upToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_ArrowUp));
+ listToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogListView));
+ iconToolButton->setIcon(qApp->style()->standardIcon(QStyle::SP_FileDialogDetailedView));
+}
QmmpFileDialogImpl::~QmmpFileDialogImpl()
{
@@ -20,7 +25,7 @@ QmmpFileDialogImpl::~QmmpFileDialogImpl()
void QmmpFileDialogImpl::on_lookInComboBox_activated(const QString&)
{
- qWarning("TODO: %s %d",__FILE__,__LINE__);
+ qWarning("TODO: %s %d",__FILE__,__LINE__);
}
void QmmpFileDialogImpl::on_upToolButton_clicked()
@@ -31,10 +36,10 @@ void QmmpFileDialogImpl::on_upToolButton_clicked()
void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind)
{
- if(ind.isValid())
+ if (ind.isValid())
{
QFileInfo info = m_model->fileInfo(ind);
- if(info.isDir())
+ if (info.isDir())
{
fileListView->setRootIndex(ind);
lookInComboBox->setEditText(m_model->filePath(ind));
@@ -46,12 +51,12 @@ void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind)
emit filesAdded(l);
}
}
-
+
}
void QmmpFileDialogImpl::on_fileNameLineEdit_returnPressed()
{
- on_addPushButton_clicked();
+ on_addPushButton_clicked();
}
void QmmpFileDialogImpl::on_addPushButton_clicked()
@@ -59,19 +64,19 @@ void QmmpFileDialogImpl::on_addPushButton_clicked()
QModelIndexList ml = fileListView->selectionModel()->selectedIndexes();
QStringList l;
foreach(QModelIndex i,ml)
- l << m_model->filePath(i);
+ 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)
+ if (m == FileDialog::AddFiles)
{
setWindowTitle("Add Files");
m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot);
}
- else if(m == FileDialog::AddDirs)
+ else if (m == FileDialog::AddDirs)
{
setWindowTitle("Add Dirs");
m_model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot);
@@ -86,24 +91,26 @@ void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, con
m_model->setSorting(QDir::Type);
fileListView->setRootIndex(m_model->index(d));
m_model->sort(0);
- lookInComboBox->setEditText(d);
+ lookInComboBox->setEditText(QDir::cleanPath(d));
}
void QmmpFileDialogImpl::on_listToolButton_toggled(bool yes)
{
- if(yes)
+ if (yes)
{
iconToolButton->setChecked(false);
fileListView->setViewMode(QListView::ListMode);
+ fileListView->setGridSize(QSize(-1, -1));
}
}
void QmmpFileDialogImpl::on_iconToolButton_toggled(bool yes)
{
- if(yes)
+ if (yes)
{
listToolButton->setChecked(false);
fileListView->setViewMode(QListView::IconMode);
+ fileListView->setGridSize(QSize(80, 80));
}
}
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
index 2be25bf05..12cd63e21 100644
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
+++ b/src/plugins/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h
@@ -4,24 +4,24 @@
#include "ui_qmmpfiledialog.h"
#include <QDialog>
-#include "filedialog.h"
+#include <qmmpui/filedialog.h>
class QDirModel;
class QmmpFileDialogImpl : public QDialog , private Ui::QmmpFileDialog
{
-Q_OBJECT
+ Q_OBJECT
public:
- QmmpFileDialogImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 );
- ~QmmpFileDialogImpl();
+ 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_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:
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro b/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
deleted file mode 100644
index d9b8a96df..000000000
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/QmmpFileDialog.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-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
deleted file mode 100644
index 5d966a77b..000000000
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png
+++ /dev/null
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png
deleted file mode 100644
index 2e552a425..000000000
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png
+++ /dev/null
Binary files differ
diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc
deleted file mode 100644
index c194a6b91..000000000
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc
+++ /dev/null
@@ -1,8 +0,0 @@
-<!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
deleted file mode 100644
index 13b44a620..000000000
--- a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png
+++ /dev/null
Binary files differ
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
index b14a5fc4b..2058ad53a 100644
--- a/src/plugins/plugins.pro
+++ b/src/plugins/plugins.pro
@@ -5,5 +5,6 @@ SUBDIRS += Input \
Effect \
General \
PlaylistFormats \
- CommandLineOptions
+ CommandLineOptions \
+ FileDialogs
TEMPLATE = subdirs
diff --git a/src/qmmpui/CMakeLists.txt b/src/qmmpui/CMakeLists.txt
index 6d98e5e56..a7d0f5a0f 100644
--- a/src/qmmpui/CMakeLists.txt
+++ b/src/qmmpui/CMakeLists.txt
@@ -29,6 +29,7 @@ SET(libqmmpui_SRCS
control.cpp
playlistparser.cpp
commandlinemanager.cpp
+ filedialog.cpp
)
SET(libqmmpui_MOC_HDRS
@@ -41,6 +42,7 @@ SET(libqmmpui_MOC_HDRS
playlistformat.h
commandlinemanager.h
commandlineoption.h
+ filedialog.h
)
QT4_WRAP_CPP(libqmmpui_MOC_SRCS ${libqmmpui_MOC_HDRS})
diff --git a/src/ui/filedialog.cpp b/src/qmmpui/filedialog.cpp
index 0c844e8db..f9202d886 100644
--- a/src/ui/filedialog.cpp
+++ b/src/qmmpui/filedialog.cpp
@@ -10,7 +10,7 @@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-#include "playlistmodel.h"
+//#include "playlistmodel.h"
FileDialog* FileDialog::_instance = 0;
@@ -27,14 +27,13 @@ bool FileDialog::isModal()
}
-void FileDialog::init(QObject* o)
+void FileDialog::init(QObject* receiver, const char* member)
{
- if(!m_initialized && !instance()->modal())
+ if (!m_initialized && !instance()->modal())
{
- PlayListModel* model = NULL;
- if( ( model = qobject_cast<PlayListModel*>(o)) )
+ if (receiver && member)
{
- connect(this,SIGNAL(filesAdded(const QStringList&)),model,SLOT(addFileList(const QStringList&)));
+ connect(this,SIGNAL(filesAdded(const QStringList&)), receiver, member);
m_initialized = true;
}
}
@@ -45,7 +44,7 @@ void FileDialog::init(QObject* o)
QString FileDialog::getExistingDirectory( QWidget * parent, const QString & caption, const QString & dir,bool def)
{
QString s;
- if(def)
+ if (def)
s = defaultInstance()->existingDirectory(parent,caption,dir);
else
s = instance()->existingDirectory(parent,caption,dir);
@@ -55,13 +54,13 @@ QString FileDialog::getExistingDirectory( QWidget * parent, const QString & capt
}
QString FileDialog::getOpenFileName(QWidget * parent,
- const QString & caption,
- const QString & dir,
- const QString & filter,
- QString * selectedFilter,bool def)
+ const QString & caption,
+ const QString & dir,
+ const QString & filter,
+ QString * selectedFilter,bool def)
{
QString s;
- if(def)
+ if (def)
s = defaultInstance()->openFileName(parent,caption,dir,filter,selectedFilter);
else
s = instance()->openFileName(parent,caption,dir,filter,selectedFilter);
@@ -71,26 +70,26 @@ QString FileDialog::getOpenFileName(QWidget * parent,
}
QStringList FileDialog::getOpenFileNames(QWidget * parent, const QString & caption , const QString & dir ,
- const QString & filter, QString * selectedFilter,bool def)
+ const QString & filter, QString * selectedFilter,bool def)
{
QStringList sl;
- if(def)
+ if (def)
sl = defaultInstance()->openFileNames(parent,caption ,dir ,filter, selectedFilter);
else
- sl = instance()->openFileNames(parent,caption,dir,filter,selectedFilter);
+ 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)
+ const QString & dir, const QString & filter, QString * selectedFilter,bool def)
{
QString s;
- if(def)
+ if (def)
s = defaultInstance()->saveFileName(parent,caption,dir,filter,selectedFilter);
else
- s = instance()->saveFileName(parent,caption,dir,filter,selectedFilter);
+ s = instance()->saveFileName(parent,caption,dir,filter,selectedFilter);
delete _instance;
_instance = 0;
return s;
@@ -99,22 +98,22 @@ QString FileDialog::getSaveFileName ( QWidget * parent, const QString & caption,
QString FileDialog::existingDirectory(QWidget *, const QString &, const QString &)
{
- return QString();
+ return QString();
}
QString FileDialog::openFileName(QWidget *, const QString &, const QString &, const QString &, QString *)
{
- return QString();
+ return QString();
}
QStringList FileDialog::openFileNames(QWidget *, const QString &, const QString &, const QString &, QString *)
{
- return QStringList();
+ return QStringList();
}
QString FileDialog::saveFileName(QWidget *, const QString &, const QString &, const QString &, QString *)
{
- return QString();
+ return QString();
}
@@ -126,7 +125,9 @@ void FileDialog::registerBuiltinFactories()
void FileDialog::registerExternalFactories()
{
- QDir pluginsDir (QDir::homePath()+"/.qmmp/plugins/FileDialogs");
+ QDir pluginsDir (qApp->applicationDirPath());
+ pluginsDir.cdUp();
+ pluginsDir.cd("./"LIB_DIR"/qmmp/FileDialogs");
foreach (QString fileName, pluginsDir.entryList(QDir::Files))
{
@@ -163,13 +164,13 @@ QString FileDialog::m_current_factory = QString();
FileDialog* FileDialog::instance()
{
- if(_instance && _instance->modal())
+ if (_instance && _instance->modal())
{
delete _instance;
_instance = 0;
}
- if(factories.isEmpty())
+ if (factories.isEmpty())
{
registerBuiltinFactories();
registerExternalFactories();
@@ -181,40 +182,40 @@ FileDialog* FileDialog::instance()
QStringList names = factories.keys();
- if(m_current_factory != f_dialogName || !_instance)
+ if (m_current_factory != f_dialogName || !_instance)
{
- if(_instance)
+ if (_instance)
delete _instance;
foreach(QString name,names)
{
- if(name == f_dialogName)
- {
- _instance = factories[name]->create();
- m_current_factory = f_dialogName;
- break;
- }
+ if (name == f_dialogName)
+ {
+ _instance = factories[name]->create();
+ m_current_factory = f_dialogName;
+ break;
+ }
}
- if(!_instance)
+ if (!_instance)
_instance = factories[QtFileDialogFactory::QtFileDialogFactoryName]->create();
}
//else if(!_instance->modal())
- //return _instance;
- // _instance->raise();
+ //return _instance;
+ // _instance->raise();
return _instance;
}
FileDialog* FileDialog::defaultInstance()
{
- if(_instance)
+ if (_instance)
{
delete _instance;
_instance = 0;
}
- if(factories.isEmpty())
+ if (factories.isEmpty())
{
registerBuiltinFactories();
registerExternalFactories();
@@ -227,7 +228,7 @@ FileDialog* FileDialog::defaultInstance()
QStringList FileDialog::registeredFactories()
{
- if(factories.isEmpty())
+ if (factories.isEmpty())
{
registerBuiltinFactories();
registerExternalFactories();
@@ -236,11 +237,11 @@ QStringList FileDialog::registeredFactories()
}
-void FileDialog::popup(QObject* o,const QString& d,Mode m,const QStringList& f)
+void FileDialog::popup(const QString& d,Mode m,const QStringList& f, QObject* receiver, const char* member)
{
- FileDialog* inst = instance();
- inst->init(o);
- inst->raise(d,m,f);
+ FileDialog* inst = instance();
+ inst->init(receiver, member);
+ inst->raise(d,m,f);
}
@@ -259,21 +260,21 @@ QString QtFileDialog::existingDirectory(QWidget * parent, const QString & captio
}
QString QtFileDialog::openFileName(QWidget * parent,const QString & caption,const QString & dir,const QString & filter,
- QString * selectedFilter)
+ 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)
+ 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)
+QString QtFileDialog::saveFileName ( QWidget * parent, const QString & caption,
+ const QString & dir, const QString & filter, QString * selectedFilter)
{
- return QFileDialog::getSaveFileName(parent,caption,dir,filter,selectedFilter);
+ return QFileDialog::getSaveFileName(parent,caption,dir,filter,selectedFilter);
}
@@ -288,7 +289,7 @@ FileDialog* QtFileDialogFactory::create()
QString QtFileDialogFactory::name()
{
- return QtFileDialogFactoryName;
+ return QtFileDialogFactoryName;
}
QString QtFileDialogFactory::QtFileDialogFactoryName = "Qt File Dialog";
diff --git a/src/qmmpui/filedialog.h b/src/qmmpui/filedialog.h
new file mode 100644
index 000000000..cbf9af07b
--- /dev/null
+++ b/src/qmmpui/filedialog.h
@@ -0,0 +1,125 @@
+#ifndef FILEDIALOG_H
+#define FILEDIALOG_H
+
+#include <QString>
+#include <QStringList>
+
+#include <QFileDialog>
+#include <QMap>
+
+#define interface struct
+
+interface FileDialogFactory;
+
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+///////////////////////////////////////////////////////////// FILE DIALOG //////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class FileDialog : public QObject
+{
+ Q_OBJECT
+public:
+ enum Mode{AddFiles,AddDirs,SaveFiles};
+ static QString getExistingDirectory( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(),bool = FALSE);
+ static QString getOpenFileName(QWidget * parent = 0,const QString & caption = QString(),const QString & dir = QString(),const QString & filter = QString(),
+ QString * selectedFilter = 0,bool = FALSE);
+ static QStringList getOpenFileNames( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(),
+ const QString & filter = QString(), QString * selectedFilter = 0,bool = FALSE);
+ static QString getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(),
+ const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0,bool = FALSE);
+ static QStringList registeredFactories();
+
+ static bool isModal();
+ static void popup(const QString& = QString(),Mode = AddFiles,const QStringList& nameFilters = QStringList(),
+ QObject* receiver = 0, const char* member = 0);
+signals:
+ void filesAdded(const QStringList&);
+protected:
+ FileDialog();
+ virtual QString existingDirectory( QWidget* , const QString& , const QString& );
+ virtual QString openFileName( QWidget* ,const QString& ,const QString& ,const QString& , QString* );
+ virtual QStringList openFileNames( QWidget* , const QString& , const QString& ,const QString& , QString* );
+ virtual QString saveFileName ( QWidget* , const QString& ,const QString& , const QString& , QString* );
+ virtual bool modal()const
+ {
+ return TRUE;
+ }
+ virtual ~FileDialog()
+ {
+ ;
+ }
+ void init(QObject* receiver, const char* member);
+ virtual void raise(const QString& = QString(),Mode = AddFiles,const QStringList& = QStringList())
+ {
+ ;
+ }
+
+ static bool registerFactory(FileDialogFactory*);
+public:
+ static void registerBuiltinFactories();
+ static void registerExternalFactories();
+protected:
+ static FileDialog* instance();
+ static FileDialog* defaultInstance();
+private:
+ static QMap <QString,FileDialogFactory*> factories;
+ static FileDialog* _instance;
+ static QString m_current_factory;
+ bool m_initialized;
+};
+
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+
+
+
+interface FileDialogFactory
+{
+ virtual FileDialog* create() = 0;
+ virtual QString name() = 0;
+ virtual ~FileDialogFactory()
+ {
+ ;
+ }
+};
+
+Q_DECLARE_INTERFACE(FileDialogFactory, "FileDialogFactory/1.0");
+
+
+//////////////////////////////////////////// QT FILE DIALOG ////////////////////////////////////////////////////////////////////
+
+class QtFileDialog : public FileDialog
+{
+public:
+ virtual ~QtFileDialog();
+ 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);
+};
+
+
+class QtFileDialogFactory : public QObject, public FileDialogFactory
+{
+ Q_OBJECT
+ Q_INTERFACES(FileDialogFactory);
+public:
+ virtual FileDialog* create();
+ virtual QString name();
+ virtual ~QtFileDialogFactory()
+ {
+ ;
+ }
+ static QString QtFileDialogFactoryName;
+};
+
+
+#endif
+
+
diff --git a/src/qmmpui/qmmpui.pro b/src/qmmpui/qmmpui.pro
index 5e6bbde87..dde39a474 100644
--- a/src/qmmpui/qmmpui.pro
+++ b/src/qmmpui/qmmpui.pro
@@ -33,13 +33,15 @@ HEADERS += general.h \
playlistformat.h \
playlistparser.h \
commandlinemanager.h \
- commandlineoption.h
+ commandlineoption.h \
+ filedialog.h
SOURCES += general.cpp \
generalhandler.cpp \
songinfo.cpp \
control.cpp \
playlistparser.cpp \
- commandlinemanager.cpp
+ commandlinemanager.cpp \
+ filedialog.cpp
DESTDIR = .
diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt
index d20634781..23da7421a 100644
--- a/src/ui/CMakeLists.txt
+++ b/src/ui/CMakeLists.txt
@@ -48,7 +48,6 @@ SET(ui_SRCS
eqslider.cpp
eqtitlebar.cpp
eqwidget.cpp
- filedialog.cpp
fileloader.cpp
jumptotrackdialog.cpp
keyboardmanager.cpp
@@ -102,7 +101,6 @@ SET(ui_MOC_HDRS
eqtitlebar.h
eqwidget.h
fft.h
- filedialog.h
fileloader.h
inlines.h
jumptotrackdialog.h
diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp
index 9c5566f33..eac2272a6 100644
--- a/src/ui/configdialog.cpp
+++ b/src/ui/configdialog.cpp
@@ -36,10 +36,10 @@
#include <qmmpui/generalfactory.h>
#include <qmmpui/general.h>
#include <qmmpui/generalhandler.h>
+#include <qmmpui/filedialog.h>
#include "skin.h"
-#include "filedialog.h"
#include "pluginitem.h"
#include "configdialog.h"
#include "skinreader.h"
diff --git a/src/ui/eqwidget.cpp b/src/ui/eqwidget.cpp
index 7fcabfedd..459d99974 100644
--- a/src/ui/eqwidget.cpp
+++ b/src/ui/eqwidget.cpp
@@ -22,8 +22,8 @@
#include <QMenu>
#include <QInputDialog>
#include <QCloseEvent>
+#include <qmmpui/filedialog.h>
-#include "filedialog.h"
#include "skin.h"
#include "eqslider.h"
#include "eqtitlebar.h"
diff --git a/src/ui/filedialog.h b/src/ui/filedialog.h
deleted file mode 100644
index f8e6c4f93..000000000
--- a/src/ui/filedialog.h
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef FILEDIALOG_H
-#define FILEDIALOG_H
-
-#include <QString>
-#include <QStringList>
-
-#include <QFileDialog>
-#include <QMap>
-
-#define interface struct
-
-interface FileDialogFactory;
-
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-///////////////////////////////////////////////////////////// FILE DIALOG //////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-class FileDialog : public QObject
-{
-Q_OBJECT
- public:
- enum Mode{AddFiles,AddDirs,SaveFiles};
- static QString getExistingDirectory( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(),bool = FALSE);
- static QString getOpenFileName(QWidget * parent = 0,const QString & caption = QString(),const QString & dir = QString(),const QString & filter = QString(),
- QString * selectedFilter = 0,bool = FALSE);
- static QStringList getOpenFileNames( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(),
- const QString & filter = QString(), QString * selectedFilter = 0,bool = FALSE);
- static QString getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(),
- const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0,bool = FALSE);
- static QStringList registeredFactories();
-
- static bool isModal();
- static void popup(QObject* ,const QString& = QString(),Mode = AddFiles,const QStringList& nameFilters = QStringList());
- signals:
- void filesAdded(const QStringList&);
- protected:
- FileDialog();
- virtual QString existingDirectory( QWidget* , const QString& , const QString& );
- virtual QString openFileName( QWidget* ,const QString& ,const QString& ,const QString& , QString* );
- virtual QStringList openFileNames( QWidget* , const QString& , const QString& ,const QString& , QString* );
- virtual QString saveFileName ( QWidget* , const QString& ,const QString& , const QString& , QString* );
- virtual bool modal()const{ return TRUE;}
- virtual ~FileDialog(){;}
- void init(QObject*);
- virtual void raise(const QString& = QString(),Mode = AddFiles,const QStringList& = QStringList()){;}
-
- static bool registerFactory(FileDialogFactory*);
- public:
- static void registerBuiltinFactories();
- static void registerExternalFactories();
- protected:
- static FileDialog* instance();
- static FileDialog* defaultInstance();
- private:
- static QMap <QString,FileDialogFactory*> factories;
- static FileDialog* _instance;
- static QString m_current_factory;
- bool m_initialized;
-};
-
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-interface FileDialogFactory
-{
- virtual FileDialog* create() = 0;
- virtual QString name() = 0;
- virtual ~FileDialogFactory(){;}
-};
-
-Q_DECLARE_INTERFACE(FileDialogFactory, "FileDialogFactory/1.0");
-
-
-//////////////////////////////////////////// QT FILE DIALOG ////////////////////////////////////////////////////////////////////
-
-class QtFileDialog : public FileDialog
-{
- public:
- virtual ~QtFileDialog();
- 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);
-};
-
-
-class QtFileDialogFactory : public QObject, public FileDialogFactory
-{
- Q_OBJECT
- Q_INTERFACES(FileDialogFactory);
- public:
- virtual FileDialog* create();
- virtual QString name();
- virtual ~QtFileDialogFactory(){;}
- static QString QtFileDialogFactoryName;
-};
-
-
-#endif
-
-
diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp
index e80ea9cd1..14f56ec47 100644
--- a/src/ui/mainwindow.cpp
+++ b/src/ui/mainwindow.cpp
@@ -31,6 +31,7 @@
#include <qmmpui/playlistparser.h>
#include <qmmpui/playlistformat.h>
#include <qmmpui/commandlinemanager.h>
+#include <qmmpui/filedialog.h>
#include "textscroller.h"
#include "mainwindow.h"
@@ -45,7 +46,6 @@
#include "jumptotrackdialog.h"
#include "aboutdialog.h"
#include "addurldialog.h"
-#include "filedialog.h"
#include "listwidget.h"
#include "visualmenu.h"
#include "builtincommandlineoption.h"
@@ -458,7 +458,8 @@ void MainWindow::addDir()
m_lastDir = s+"../";
}
else
- FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddDirs,Decoder::nameFilters());
+ FileDialog::popup(m_lastDir,FileDialog::AddDirs,Decoder::nameFilters(),
+ m_playListModel, SLOT(addFileList(const QStringList&)));
}
void MainWindow::addFile()
@@ -497,7 +498,8 @@ void MainWindow::addFile()
m_lastDir = files.at(0);
}
else
- FileDialog::popup(m_playListModel,m_lastDir,FileDialog::AddFiles,Decoder::nameFilters());
+ FileDialog::popup(m_lastDir,FileDialog::AddFiles,Decoder::nameFilters(),
+ m_playListModel, SLOT(addFileList(const QStringList&)));
}
diff --git a/src/ui/ui.pro b/src/ui/ui.pro
index cd28f33a4..e6ac09941 100644
--- a/src/ui/ui.pro
+++ b/src/ui/ui.pro
@@ -53,7 +53,6 @@ HEADERS += mainwindow.h \
aboutdialog.h \
timeindicator.h \
keyboardmanager.h \
- filedialog.h \
unixdomainsocket.h \
addurldialog.h \
skinreader.h \
@@ -105,7 +104,6 @@ SOURCES += mainwindow.cpp \
aboutdialog.cpp \
timeindicator.cpp \
keyboardmanager.cpp \
- filedialog.cpp \
unixdomainsocket.cpp \
addurldialog.cpp \
skinreader.cpp \