aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Misc
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Misc')
-rw-r--r--src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro2
-rw-r--r--src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro26
-rw-r--r--src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/Makefile301
-rw-r--r--src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp53
-rw-r--r--src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h23
-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
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro20
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile213
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp72
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h33
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp64
-rw-r--r--src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme12
-rw-r--r--src/plugins/Misc/PlaylistFormats/Makefile112
-rw-r--r--src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro2
-rwxr-xr-xsrc/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.sobin0 -> 38452 bytes
34 files changed, 1687 insertions, 0 deletions
diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro
new file mode 100644
index 000000000..1832a0166
--- /dev/null
+++ b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = IncDecVolumeOption
diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro
new file mode 100644
index 000000000..fdcef5e38
--- /dev/null
+++ b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/IncDecVolumeOption.pro
@@ -0,0 +1,26 @@
+include(../../../../../qmmp.pri)
+
+QMMPSRCROOT = ../../../../
+
+INCLUDEPATH += $$QMMPSRCROOT/ui \
+ $$QMMPSRCROOT/qmmp \
+ $$QMMPSRCROOT
+
+HEADERS += incdecvolumeoption.h \
+ $$QMMPSRCROOT/ui/mainwindow.h \
+ $$QMMPSRCROOT/qmmp/soundcore.h
+
+SOURCES += incdecvolumeoption.cpp \
+ $$QMMPSRCROOT/qmmp/soundcore.cpp \
+ $$QMMPSRCROOT/ui/mainwindow.cpp
+
+DESTDIR = ../
+QMAKE_CLEAN = ../libincdecvolumeoption.so
+
+
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
+
diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/Makefile b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/Makefile
new file mode 100644
index 000000000..0ac10a77d
--- /dev/null
+++ b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/Makefile
@@ -0,0 +1,301 @@
+#############################################################################
+# Makefile for building: libIncDecVolumeOption.so
+# Generated by qmake (2.01a) (Qt 4.3.0) on: Thu Feb 7 01:34:34 2008
+# Project: IncDecVolumeOption.pro
+# Template: lib
+# Command: /usr/local/Trolltech/Qt-4.3.0/bin/qmake -unix -o Makefile IncDecVolumeOption.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
+CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+INCPATH = -I/usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include -I../../../../ui -I../../../../qmmp -I../../../.. -I.build/moc -I./.build/ui/
+LINK = g++
+LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.3.0/lib -shared
+LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.3.0/lib -lQtGui -L/usr/local/Trolltech/Qt-4.3.0/lib -L/usr/X11R6/lib -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
+AR = ar cqs
+RANLIB =
+QMAKE = /usr/local/Trolltech/Qt-4.3.0/bin/qmake
+TAR = tar -cf
+COMPRESS = gzip -9f
+COPY = cp -f
+SED = sed
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+INSTALL_FILE = install -m 644 -p
+INSTALL_DIR = $(COPY_DIR)
+INSTALL_PROGRAM = install -m 755 -p
+DEL_FILE = rm -f
+SYMLINK = ln -sf
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = .build/obj/
+
+####### Files
+
+SOURCES = incdecvolumeoption.cpp \
+ ../../../../qmmp/soundcore.cpp \
+ ../../../../ui/mainwindow.cpp .build/moc/moc_incdecvolumeoption.cpp \
+ .build/moc/moc_mainwindow.cpp \
+ .build/moc/moc_soundcore.cpp
+OBJECTS = .build/obj/incdecvolumeoption.o \
+ .build/obj/soundcore.o \
+ .build/obj/mainwindow.o \
+ .build/obj/moc_incdecvolumeoption.o \
+ .build/obj/moc_mainwindow.o \
+ .build/obj/moc_soundcore.o
+DIST = /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /rest/qmmp/qmmp/qmmp.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ IncDecVolumeOption.pro
+QMAKE_TARGET = IncDecVolumeOption
+DESTDIR = ../
+TARGET = libIncDecVolumeOption.so
+TARGETD = libIncDecVolumeOption.so
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .o .c .cpp .cc .cxx .C
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
+
+####### Build rules
+
+all: Makefile ../$(TARGET)
+
+../$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
+ @$(CHK_DIR_EXISTS) ../ || $(MKDIR) ../
+ -$(DEL_FILE) $(TARGET)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
+ -$(MOVE) $(TARGET) ../
+
+
+
+Makefile: IncDecVolumeOption.pro /usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /rest/qmmp/qmmp/qmmp.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl
+ $(QMAKE) -unix -o Makefile IncDecVolumeOption.pro
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf:
+/rest/qmmp/qmmp/qmmp.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl:
+qmake: FORCE
+ @$(QMAKE) -unix -o Makefile IncDecVolumeOption.pro
+
+dist:
+ @$(CHK_DIR_EXISTS) .build/obj/IncDecVolumeOption1.0.0 || $(MKDIR) .build/obj/IncDecVolumeOption1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .build/obj/IncDecVolumeOption1.0.0/ && $(COPY_FILE) --parents incdecvolumeoption.h ../../../../ui/mainwindow.h ../../../../qmmp/soundcore.h .build/obj/IncDecVolumeOption1.0.0/ && $(COPY_FILE) --parents incdecvolumeoption.cpp ../../../../qmmp/soundcore.cpp ../../../../ui/mainwindow.cpp .build/obj/IncDecVolumeOption1.0.0/ && (cd `dirname .build/obj/IncDecVolumeOption1.0.0` && $(TAR) IncDecVolumeOption1.0.0.tar IncDecVolumeOption1.0.0 && $(COMPRESS) IncDecVolumeOption1.0.0.tar) && $(MOVE) `dirname .build/obj/IncDecVolumeOption1.0.0`/IncDecVolumeOption1.0.0.tar.gz . && $(DEL_FILE) -r .build/obj/IncDecVolumeOption1.0.0
+
+
+clean:compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) ../libincdecvolumeoption.so
+ -$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+
+compiler_moc_header_make_all: .build/moc/moc_incdecvolumeoption.cpp .build/moc/moc_mainwindow.cpp .build/moc/moc_soundcore.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) .build/moc/moc_incdecvolumeoption.cpp .build/moc/moc_mainwindow.cpp .build/moc/moc_soundcore.cpp
+.build/moc/moc_incdecvolumeoption.cpp: incdecvolumeoption.h
+ /usr/local/Trolltech/Qt-4.3.0/bin/moc $(DEFINES) $(INCPATH) incdecvolumeoption.h -o .build/moc/moc_incdecvolumeoption.cpp
+
+.build/moc/moc_mainwindow.cpp: ../../../../qmmp/output.h \
+ ../../../../qmmp/visual.h \
+ ../../../../qmmp/outputfactory.h \
+ ../../../../qmmp/visualfactory.h \
+ ../../../../qmmp/recycler.h \
+ ../../../../qmmp/decoder.h \
+ ../../../../qmmp/filetag.h \
+ ../../../../ui/display.h \
+ ../../../../ui/pixmapwidget.h \
+ ../../../../ui/mediafile.h \
+ ../../../../qmmp/decoderfactory.h \
+ ../../../../ui/titlebar.h \
+ ../../../../ui/playlist.h \
+ ../../../../ui/mainwindow.h \
+ ../../../../ui/mainwindow.h
+ /usr/local/Trolltech/Qt-4.3.0/bin/moc $(DEFINES) $(INCPATH) ../../../../ui/mainwindow.h -o .build/moc/moc_mainwindow.cpp
+
+.build/moc/moc_soundcore.cpp: ../../../../qmmp/decoder.h \
+ ../../../../qmmp/filetag.h \
+ ../../../../qmmp/output.h \
+ ../../../../qmmp/visual.h \
+ ../../../../qmmp/outputfactory.h \
+ ../../../../qmmp/visualfactory.h \
+ ../../../../qmmp/recycler.h \
+ ../../../../qmmp/soundcore.h
+ /usr/local/Trolltech/Qt-4.3.0/bin/moc $(DEFINES) $(INCPATH) ../../../../qmmp/soundcore.h -o .build/moc/moc_soundcore.cpp
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_image_collection_make_all: qmake_image_collection.cpp
+compiler_image_collection_clean:
+ -$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all:
+compiler_uic_clean:
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_header_clean
+
+####### Compile
+
+.build/obj/incdecvolumeoption.o: incdecvolumeoption.cpp incdecvolumeoption.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/incdecvolumeoption.o incdecvolumeoption.cpp
+
+.build/obj/soundcore.o: ../../../../qmmp/soundcore.cpp ../../../../qmmp/decoderfactory.h \
+ ../../../../qmmp/constants.h \
+ ../../../../qmmp/config.h \
+ ../../../../qmmp/streamreader.h \
+ ../../../../qmmp/effect.h \
+ ../../../../qmmp/soundcore.h \
+ ../../../../qmmp/decoder.h \
+ ../../../../qmmp/filetag.h \
+ ../../../../qmmp/output.h \
+ ../../../../qmmp/visual.h \
+ ../../../../qmmp/outputfactory.h \
+ ../../../../qmmp/visualfactory.h \
+ ../../../../qmmp/recycler.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/soundcore.o ../../../../qmmp/soundcore.cpp
+
+.build/obj/mainwindow.o: ../../../../ui/mainwindow.cpp ../../../../ui/textscroller.h \
+ ../../../../ui/mainwindow.h \
+ ../../../../qmmp/output.h \
+ ../../../../qmmp/visual.h \
+ ../../../../qmmp/outputfactory.h \
+ ../../../../qmmp/visualfactory.h \
+ ../../../../qmmp/recycler.h \
+ ../../../../qmmp/decoder.h \
+ ../../../../qmmp/filetag.h \
+ ../../../../ui/display.h \
+ ../../../../ui/pixmapwidget.h \
+ ../../../../ui/mediafile.h \
+ ../../../../qmmp/decoderfactory.h \
+ ../../../../ui/titlebar.h \
+ ../../../../ui/playlist.h \
+ ../../../../qmmp/constants.h \
+ ../../../../qmmp/config.h \
+ ../../../../ui/fileloader.h \
+ ../../../../ui/skin.h \
+ ../../../../ui/playlistmodel.h \
+ ../../../../ui/configdialog.h \
+ ../../../../ui/dock.h \
+ ../../../../ui/eqwidget.h \
+ ../../../../ui/mainvisual.h \
+ ../../../../ui/logscale.h \
+ ../../../../ui/playlistformat.h \
+ ../../../../ui/jumptotrackdialog.h \
+ ../../../../ui/aboutdialog.h \
+ ../../../../ui/filedialog.h \
+ ../../../../ui/listwidget.h \
+ ../../../../ui/visualmenu.h \
+ ../../../../ui/commandlineoption.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/mainwindow.o ../../../../ui/mainwindow.cpp
+
+.build/obj/moc_incdecvolumeoption.o: .build/moc/moc_incdecvolumeoption.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/moc_incdecvolumeoption.o .build/moc/moc_incdecvolumeoption.cpp
+
+.build/obj/moc_mainwindow.o: .build/moc/moc_mainwindow.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/moc_mainwindow.o .build/moc/moc_mainwindow.cpp
+
+.build/obj/moc_soundcore.o: .build/moc/moc_soundcore.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o .build/obj/moc_soundcore.o .build/moc/moc_soundcore.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
new file mode 100644
index 000000000..4bd35a910
--- /dev/null
+++ b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.cpp
@@ -0,0 +1,53 @@
+#include <QtPlugin>
+
+#include "incdecvolumeoption.h"
+#include <soundcore.h>
+#include "mainwindow.h"
+
+bool IncDecVolumeCommandLineOption::identify(const QString & str) const
+{
+ if(
+ str == QString("--volume-inc") ||
+ str == QString("--volume-dec")
+ )
+ {
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
+const QString IncDecVolumeCommandLineOption::helpString() const
+{
+ return QString(
+ "--volume-inc Increase volume with step 10\n"
+ "--volume-dec Decrease volume with step 10\n"
+ );
+}
+
+
+void IncDecVolumeCommandLineOption::executeCommand(const QString & option_string, MainWindow *mw)
+{
+ if (option_string == "--volume-inc")
+ {
+ int l = 0;
+ int r = 0;
+ mw->soundCore()->volume(&l,&r);
+ mw->soundCore()->setVolume(l+10,r+10);
+ }
+ else if (option_string == "--volume-dec")
+ {
+ int l = 0;
+ int r = 0;
+ mw->soundCore()->volume(&l,&r);
+ mw->soundCore()->setVolume(l-10,r-10);
+ }
+}
+
+const QString IncDecVolumeCommandLineOption::name() const
+{
+ return "IncDecVolumeCommandLineOption";
+}
+
+Q_EXPORT_PLUGIN(IncDecVolumeCommandLineOption)
+
diff --git a/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h
new file mode 100644
index 000000000..6fbf3d24a
--- /dev/null
+++ b/src/plugins/Misc/CommandLineOptions/IncDecVolumeOption/incdecvolumeoption.h
@@ -0,0 +1,23 @@
+#ifndef IncDecVolumeCommandLineOption_H
+#define IncDecVolumeCommandLineOption_H
+
+#include <commandlineoption.h>
+
+#include <QString>
+#include <QObject>
+
+class MainWindow;
+
+class IncDecVolumeCommandLineOption : public QObject, public CommandLineOption
+{
+Q_OBJECT
+Q_INTERFACES(CommandLineOption)
+public:
+ virtual bool identify(const QString& opt_str)const;
+ virtual const QString name()const;
+ virtual const QString helpString()const;
+ virtual void executeCommand(const QString& opt_str,MainWindow* mw);
+};
+
+#endif
+
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
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro
new file mode 100644
index 000000000..11c27c3d3
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/CSVPlaylistFormat.pro
@@ -0,0 +1,20 @@
+QMMPROOT = ../../../qmmp
+
+HEADERS += csvplaylistformat.h
+
+SOURCES += csvplaylistformat.cpp \
+ $$QMMPROOT/src/mediafile.cpp
+
+DESTDIR = ../
+QMAKE_CLEAN = ../libcsvplaylistformat.so
+
+INCLUDEPATH += $$QMMPROOT/src \
+ $$QMMPROOT/lib
+
+CONFIG += release warn_on plugin
+
+TEMPLATE = lib
+
+#QMAKE_LIBDIR += ../../../
+#LIBS += -lqmmp -L/usr/lib -I/usr/include
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile
new file mode 100644
index 000000000..5afa50b01
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/Makefile
@@ -0,0 +1,213 @@
+#############################################################################
+# Makefile for building: libCSVPlaylistFormat.so
+# Generated by qmake (2.01a) (Qt 4.3.0) on: Mon Dec 24 01:59:02 2007
+# Project: CSVPlaylistFormat.pro
+# Template: lib
+# Command: /usr/local/Trolltech/Qt-4.3.0/bin/qmake -unix -o Makefile CSVPlaylistFormat.pro
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+DEFINES = -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
+CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT -fPIC $(DEFINES)
+INCPATH = -I/usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtCore -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include/QtGui -I/usr/local/Trolltech/Qt-4.3.0/include -I../../../qmmp/src -I../../../qmmp/lib -I. -I.
+LINK = g++
+LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.3.0/lib -shared
+LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.3.0/lib -lQtGui -L/usr/local/Trolltech/Qt-4.3.0/lib -L/usr/X11R6/lib -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lXfixes -lXcursor -lXinerama -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
+AR = ar cqs
+RANLIB =
+QMAKE = /usr/local/Trolltech/Qt-4.3.0/bin/qmake
+TAR = tar -cf
+COMPRESS = gzip -9f
+COPY = cp -f
+SED = sed
+COPY_FILE = $(COPY)
+COPY_DIR = $(COPY) -r
+INSTALL_FILE = install -m 644 -p
+INSTALL_DIR = $(COPY_DIR)
+INSTALL_PROGRAM = install -m 755 -p
+DEL_FILE = rm -f
+SYMLINK = ln -sf
+DEL_DIR = rmdir
+MOVE = mv -f
+CHK_DIR_EXISTS= test -d
+MKDIR = mkdir -p
+
+####### Output directory
+
+OBJECTS_DIR = ./
+
+####### Files
+
+SOURCES = csvplaylistformat.cpp \
+ ../../../qmmp/src/mediafile.cpp moc_csvplaylistformat.cpp
+OBJECTS = csvplaylistformat.o \
+ mediafile.o \
+ moc_csvplaylistformat.o
+DIST = /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ CSVPlaylistFormat.pro
+QMAKE_TARGET = CSVPlaylistFormat
+DESTDIR = ../
+TARGET = libCSVPlaylistFormat.so
+TARGETD = libCSVPlaylistFormat.so
+
+first: all
+####### Implicit rules
+
+.SUFFIXES: .o .c .cpp .cc .cxx .C
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<"
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<"
+
+####### Build rules
+
+all: Makefile ../$(TARGET)
+
+../$(TARGET): $(OBJECTS) $(SUBLIBS) $(OBJCOMP)
+ @$(CHK_DIR_EXISTS) ../ || $(MKDIR) ../
+ -$(DEL_FILE) $(TARGET)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS) $(OBJCOMP)
+ -$(MOVE) $(TARGET) ../
+
+
+
+Makefile: CSVPlaylistFormat.pro /usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl \
+ /usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl
+ $(QMAKE) -unix -o Makefile CSVPlaylistFormat.pro
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtGui.prl:
+/usr/local/Trolltech/Qt-4.3.0/lib/libQtCore.prl:
+qmake: FORCE
+ @$(QMAKE) -unix -o Makefile CSVPlaylistFormat.pro
+
+dist:
+ @$(CHK_DIR_EXISTS) .tmp/CSVPlaylistFormat1.0.0 || $(MKDIR) .tmp/CSVPlaylistFormat1.0.0
+ $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/CSVPlaylistFormat1.0.0/ && $(COPY_FILE) --parents csvplaylistformat.h .tmp/CSVPlaylistFormat1.0.0/ && $(COPY_FILE) --parents csvplaylistformat.cpp ../../../qmmp/src/mediafile.cpp .tmp/CSVPlaylistFormat1.0.0/ && (cd `dirname .tmp/CSVPlaylistFormat1.0.0` && $(TAR) CSVPlaylistFormat1.0.0.tar CSVPlaylistFormat1.0.0 && $(COMPRESS) CSVPlaylistFormat1.0.0.tar) && $(MOVE) `dirname .tmp/CSVPlaylistFormat1.0.0`/CSVPlaylistFormat1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/CSVPlaylistFormat1.0.0
+
+
+clean:compiler_clean
+ -$(DEL_FILE) $(OBJECTS)
+ -$(DEL_FILE) ../libcsvplaylistformat.so
+ -$(DEL_FILE) *~ core *.core
+
+
+####### Sub-libraries
+
+distclean: clean
+ -$(DEL_FILE) $(TARGET)
+ -$(DEL_FILE) Makefile
+
+
+mocclean: compiler_moc_header_clean compiler_moc_source_clean
+
+mocables: compiler_moc_header_make_all compiler_moc_source_make_all
+
+compiler_moc_header_make_all: moc_csvplaylistformat.cpp
+compiler_moc_header_clean:
+ -$(DEL_FILE) moc_csvplaylistformat.cpp
+moc_csvplaylistformat.cpp: csvplaylistformat.h
+ /usr/local/Trolltech/Qt-4.3.0/bin/moc $(DEFINES) $(INCPATH) csvplaylistformat.h -o moc_csvplaylistformat.cpp
+
+compiler_rcc_make_all:
+compiler_rcc_clean:
+compiler_image_collection_make_all: qmake_image_collection.cpp
+compiler_image_collection_clean:
+ -$(DEL_FILE) qmake_image_collection.cpp
+compiler_moc_source_make_all:
+compiler_moc_source_clean:
+compiler_uic_make_all:
+compiler_uic_clean:
+compiler_yacc_decl_make_all:
+compiler_yacc_decl_clean:
+compiler_yacc_impl_make_all:
+compiler_yacc_impl_clean:
+compiler_lex_make_all:
+compiler_lex_clean:
+compiler_clean: compiler_moc_header_clean
+
+####### Compile
+
+csvplaylistformat.o: csvplaylistformat.cpp csvplaylistformat.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o csvplaylistformat.o csvplaylistformat.cpp
+
+mediafile.o: ../../../qmmp/src/mediafile.cpp ../../../qmmp/src/mediafile.h
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o mediafile.o ../../../qmmp/src/mediafile.cpp
+
+moc_csvplaylistformat.o: moc_csvplaylistformat.cpp
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_csvplaylistformat.o moc_csvplaylistformat.cpp
+
+####### Install
+
+install: FORCE
+
+uninstall: FORCE
+
+FORCE:
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp
new file mode 100644
index 000000000..bff8a20b5
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.cpp
@@ -0,0 +1,72 @@
+#include <QtPlugin>
+#include <QFileInfo>
+
+#include "csvplaylistformat.h"
+#include <mediafile.h>
+
+
+bool CSVPlaylistFormat::hasFormat(const QString & f)
+{
+ foreach(QString s,m_supported_formats)
+ if(f == s)
+ return true;
+
+ return false;
+}
+
+QStringList CSVPlaylistFormat::getExtensions() const
+{
+ return m_supported_formats;
+}
+
+CSVPlaylistFormat::CSVPlaylistFormat()
+{
+ m_supported_formats << "csv";
+}
+
+QString CSVPlaylistFormat::name() const
+{
+ return "CSVPlaylistFormat";
+}
+
+
+QStringList CSVPlaylistFormat::decode(const QString & contents)
+{
+ qWarning("CONTENTS: %s",qPrintable(contents));
+ QStringList out;
+ QStringList splitted = contents.split("\n");
+ if(!splitted.isEmpty())
+ {
+ foreach(QString str, splitted)
+ {
+ QStringList song = str.split(";");
+ qWarning("SONG: %s",qPrintable(song[0]));
+ if(song.count() > 1)
+ {
+ QString unverified = song[1];
+ if(QFileInfo(unverified).exists())
+ out << QFileInfo(unverified).absoluteFilePath();
+ else
+ qWarning("File %s does not exist",unverified.toLocal8Bit().data());
+ }
+
+ }
+ return out;
+ }
+ else
+ qWarning("Error parsing CSV playlist format");
+
+ return QStringList();
+}
+
+QString CSVPlaylistFormat::encode(const QList< MediaFile * > & contents)
+{
+ QStringList out;
+ foreach(MediaFile* f,contents)
+ out.append(f->title() + ";" + f->path() + ";" + QString::number(f->length()));
+
+ return out.join("\n");
+}
+
+Q_EXPORT_PLUGIN(CSVPlaylistFormat)
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h
new file mode 100644
index 000000000..45e93d346
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/csvplaylistformat.h
@@ -0,0 +1,33 @@
+#ifndef CSVPLAYLISTFORMAT_H
+#define CSVPLAYLISTFORMAT_H
+
+#include <playlistformat.h>
+
+#include <QStringList>
+
+class MediaFile;
+
+/*!
+ * Example of custom playlist CSV semicolon separated format.
+ * Each line represents a song in the next format:
+ * TITLE;FILEPATH;DURATION
+ */
+
+class CSVPlaylistFormat : public QObject, public PlaylistFormat
+{
+Q_OBJECT
+Q_INTERFACES(PlaylistFormat)
+public:
+ CSVPlaylistFormat();
+ virtual ~CSVPlaylistFormat(){;}
+ virtual QStringList decode(const QString& contents);
+ virtual QString encode(const QList<MediaFile*>& contents);
+ virtual QStringList getExtensions()const;
+ virtual bool hasFormat(const QString& ext);
+ virtual QString name()const;
+protected:
+ QStringList m_supported_formats;
+};
+
+#endif //CSVPLAYLISTFORMAT_H
+
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp
new file mode 100644
index 000000000..133bf4692
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/moc_csvplaylistformat.cpp
@@ -0,0 +1,64 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'csvplaylistformat.h'
+**
+** Created: Mon Dec 24 01:59:05 2007
+** by: The Qt Meta Object Compiler version 59 (Qt 4.3.0)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include "csvplaylistformat.h"
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'csvplaylistformat.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 59
+#error "This file was generated using the moc from 4.3.0. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+static const uint qt_meta_data_CSVPlaylistFormat[] = {
+
+ // content:
+ 1, // revision
+ 0, // classname
+ 0, 0, // classinfo
+ 0, 0, // methods
+ 0, 0, // properties
+ 0, 0, // enums/sets
+
+ 0 // eod
+};
+
+static const char qt_meta_stringdata_CSVPlaylistFormat[] = {
+ "CSVPlaylistFormat\0"
+};
+
+const QMetaObject CSVPlaylistFormat::staticMetaObject = {
+ { &QObject::staticMetaObject, qt_meta_stringdata_CSVPlaylistFormat,
+ qt_meta_data_CSVPlaylistFormat, 0 }
+};
+
+const QMetaObject *CSVPlaylistFormat::metaObject() const
+{
+ return &staticMetaObject;
+}
+
+void *CSVPlaylistFormat::qt_metacast(const char *_clname)
+{
+ if (!_clname) return 0;
+ if (!strcmp(_clname, qt_meta_stringdata_CSVPlaylistFormat))
+ return static_cast<void*>(const_cast< CSVPlaylistFormat*>(this));
+ if (!strcmp(_clname, "PlaylistFormat"))
+ return static_cast< PlaylistFormat*>(const_cast< CSVPlaylistFormat*>(this));
+ if (!strcmp(_clname, "PlaylistFormatInterface/1.0"))
+ return static_cast< PlaylistFormat*>(const_cast< CSVPlaylistFormat*>(this));
+ return QObject::qt_metacast(_clname);
+}
+
+int CSVPlaylistFormat::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+ _id = QObject::qt_metacall(_c, _id, _a);
+ if (_id < 0)
+ return _id;
+ return _id;
+}
diff --git a/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme
new file mode 100644
index 000000000..a047e358b
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/CSVPlaylistFormat/readme
@@ -0,0 +1,12 @@
+This is simple example of custom Playlist Format plugin.
+It represents CVS semicolon-separated format storage.
+This plugin developed mostly for QMMP customizing demonstration.
+
+Build: Change QMMPROOT variable in .pro file according your
+QMMP build tree location.Then qmake && make
+
+Install: copy library into ~/.qmmp/plugins/PlaylistFormats directory.
+
+
+ vovanec@gmail.com
+
diff --git a/src/plugins/Misc/PlaylistFormats/Makefile b/src/plugins/Misc/PlaylistFormats/Makefile
new file mode 100644
index 000000000..cbf632042
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/Makefile
@@ -0,0 +1,112 @@
+#############################################################################
+# Makefile for building: PlaylistFormats
+# Generated by qmake (2.01a) (Qt 4.3.0) on: Mon Dec 24 01:59:00 2007
+# Project: PlaylistFormats.pro
+# Template: subdirs
+# Command: /usr/local/Trolltech/Qt-4.3.0/bin/qmake -unix -o Makefile PlaylistFormats.pro
+#############################################################################
+
+first: make_default
+MAKEFILE = Makefile
+QMAKE = /usr/local/Trolltech/Qt-4.3.0/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-CSVPlaylistFormat
+
+CSVPlaylistFormat//$(MAKEFILE):
+ @$(CHK_DIR_EXISTS) CSVPlaylistFormat/ || $(MKDIR) CSVPlaylistFormat/
+ cd CSVPlaylistFormat/ && $(QMAKE) CSVPlaylistFormat.pro -unix -o $(MAKEFILE)
+sub-CSVPlaylistFormat-qmake_all: FORCE
+ @$(CHK_DIR_EXISTS) CSVPlaylistFormat/ || $(MKDIR) CSVPlaylistFormat/
+ cd CSVPlaylistFormat/ && $(QMAKE) CSVPlaylistFormat.pro -unix -o $(MAKEFILE)
+sub-CSVPlaylistFormat: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE)
+sub-CSVPlaylistFormat-make_default: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE)
+sub-CSVPlaylistFormat-make_first: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) first
+sub-CSVPlaylistFormat-all: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) all
+sub-CSVPlaylistFormat-clean: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) clean
+sub-CSVPlaylistFormat-distclean: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) distclean
+sub-CSVPlaylistFormat-install_subtargets: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) install
+sub-CSVPlaylistFormat-uninstall_subtargets: CSVPlaylistFormat//$(MAKEFILE) FORCE
+ cd CSVPlaylistFormat/ && $(MAKE) -f $(MAKEFILE) uninstall
+
+Makefile: PlaylistFormats.pro /usr/local/Trolltech/Qt-4.3.0/mkspecs/linux-g++/qmake.conf /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf \
+ /usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf
+ $(QMAKE) -unix -o Makefile PlaylistFormats.pro
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/g++.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/unix.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/common/linux.conf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/qconfig.pri:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_functions.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt_config.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/exclusive_builds.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_pre.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/release.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/default_post.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/warn_on.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/qt.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/unix/thread.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/moc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/resources.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/uic.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/yacc.prf:
+/usr/local/Trolltech/Qt-4.3.0/mkspecs/features/lex.prf:
+qmake: qmake_all FORCE
+ @$(QMAKE) -unix -o Makefile PlaylistFormats.pro
+
+qmake_all: sub-CSVPlaylistFormat-qmake_all FORCE
+
+make_default: sub-CSVPlaylistFormat-make_default FORCE
+make_first: sub-CSVPlaylistFormat-make_first FORCE
+all: sub-CSVPlaylistFormat-all FORCE
+clean: sub-CSVPlaylistFormat-clean FORCE
+distclean: sub-CSVPlaylistFormat-distclean FORCE
+ -$(DEL_FILE) Makefile
+install_subtargets: sub-CSVPlaylistFormat-install_subtargets FORCE
+uninstall_subtargets: sub-CSVPlaylistFormat-uninstall_subtargets FORCE
+
+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/PlaylistFormats/PlaylistFormats.pro b/src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro
new file mode 100644
index 000000000..4235b3190
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/PlaylistFormats.pro
@@ -0,0 +1,2 @@
+TEMPLATE = subdirs
+SUBDIRS = CSVPlaylistFormat \ No newline at end of file
diff --git a/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so b/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so
new file mode 100755
index 000000000..f9677157c
--- /dev/null
+++ b/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so
Binary files differ