diff options
Diffstat (limited to 'src/plugins/Misc')
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 Binary files differnew file mode 100644 index 000000000..5d966a77b --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/cdup.png diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png Binary files differnew file mode 100644 index 000000000..2e552a425 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/detail.png diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc new file mode 100644 index 000000000..c194a6b91 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/images.qrc @@ -0,0 +1,8 @@ +<!DOCTYPE RCC> +<RCC version="1.0"> + <qresource> + <file>cdup.png</file> + <file>detail.png</file> + <file>list.png</file> + </qresource> +</RCC> diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png Binary files differnew file mode 100644 index 000000000..13b44a620 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/images/list.png diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp new file mode 100644 index 000000000..fce9f6e53 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.cpp @@ -0,0 +1,44 @@ +#include <QtPlugin> + +#include "qmmpfiledialogimpl.h" +#include "qmmpfiledialog.h" + + + +QmmpFileDialog::QmmpFileDialog() +{ + m_dialog = new QmmpFileDialogImpl(); + connect(m_dialog,SIGNAL(filesAdded(const QStringList&)),this,SIGNAL(filesAdded(const QStringList&))); +} + +void QmmpFileDialog::handleSelected(/*const QStringList& s */) +{ +} + +bool QmmpFileDialog::modal()const +{ + return FALSE; +} + +QmmpFileDialog::~QmmpFileDialog() +{ + qWarning("QmmpFileDialog::~QmmpFileDialog()"); + delete m_dialog; +} +void QmmpFileDialog::raise(const QString& d,Mode m,const QStringList& f) +{ + m_dialog->setModeAndMask(d,m,f); + m_dialog->show(); + m_dialog->raise(); +} + + +FileDialog* QmmpFileDialogFactory::create(){ return new QmmpFileDialog();} + +QString QmmpFileDialogFactory::name(){return QmmpFileDialogFactoryName;} + +QString QmmpFileDialogFactory::QmmpFileDialogFactoryName = "Qmmp File Dialog"; + + +Q_EXPORT_PLUGIN(QmmpFileDialogFactory) + diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h new file mode 100644 index 000000000..30a4fef59 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.h @@ -0,0 +1,40 @@ +#ifndef QMMPFILEDIALOG_H +#define QMMPFILEDIALOG_H + +#include <filedialog.h> + +class QmmpFileDialogImpl; + +class QmmpFileDialog : public FileDialog +{ +Q_OBJECT + public: + QmmpFileDialog(); + virtual ~QmmpFileDialog(); + virtual bool modal()const; + virtual void raise(const QString&,Mode = AddFiles,const QStringList& = QStringList()); + public slots: + void handleSelected(); + + private: + QmmpFileDialogImpl * m_dialog; +}; + + + + +class QmmpFileDialogFactory : public QObject, public FileDialogFactory +{ + Q_OBJECT + Q_INTERFACES(FileDialogFactory); + public: + virtual FileDialog* create(); + virtual QString name(); + virtual ~QmmpFileDialogFactory(){;} + static QString QmmpFileDialogFactoryName; +}; + + +#endif + + diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui new file mode 100644 index 000000000..dbfb2edc2 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialog.ui @@ -0,0 +1,216 @@ +<ui version="4.0" > + <class>QmmpFileDialog</class> + <widget class="QDialog" name="QmmpFileDialog" > + <property name="geometry" > + <rect> + <x>0</x> + <y>0</y> + <width>517</width> + <height>312</height> + </rect> + </property> + <property name="windowTitle" > + <string>Add Files</string> + </property> + <layout class="QVBoxLayout" > + <property name="margin" > + <number>9</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QLabel" name="label_2" > + <property name="text" > + <string>Look in:</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="lookInComboBox" > + <property name="sizePolicy" > + <sizepolicy> + <hsizetype>5</hsizetype> + <vsizetype>0</vsizetype> + <horstretch>1</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="editable" > + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="upToolButton" > + <property name="text" > + <string>Up</string> + </property> + <property name="icon" > + <iconset resource="images/images.qrc" >:/cdup.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="listToolButton" > + <property name="toolTip" > + <string>List view</string> + </property> + <property name="text" > + <string>lst</string> + </property> + <property name="icon" > + <iconset resource="images/images.qrc" >:/list.png</iconset> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="iconToolButton" > + <property name="toolTip" > + <string>Icon view</string> + </property> + <property name="text" > + <string>icn</string> + </property> + <property name="icon" > + <iconset resource="images/images.qrc" >:/detail.png</iconset> + </property> + <property name="iconSize" > + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable" > + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QListView" name="fileListView" > + <property name="editTriggers" > + <set>QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed|QAbstractItemView::NoEditTriggers</set> + </property> + <property name="dragEnabled" > + <bool>true</bool> + </property> + <property name="dragDropMode" > + <enum>QAbstractItemView::NoDragDrop</enum> + </property> + <property name="alternatingRowColors" > + <bool>false</bool> + </property> + <property name="selectionMode" > + <enum>QAbstractItemView::ExtendedSelection</enum> + </property> + <property name="selectionBehavior" > + <enum>QAbstractItemView::SelectItems</enum> + </property> + <property name="movement" > + <enum>QListView::Static</enum> + </property> + <property name="layoutMode" > + <enum>QListView::Batched</enum> + </property> + <property name="viewMode" > + <enum>QListView::ListMode</enum> + </property> + <property name="wordWrap" > + <bool>true</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <widget class="QLabel" name="label" > + <property name="text" > + <string>File name:</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="fileNameLineEdit" /> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" > + <property name="margin" > + <number>0</number> + </property> + <property name="spacing" > + <number>6</number> + </property> + <item> + <spacer> + <property name="orientation" > + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" > + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="addPushButton" > + <property name="text" > + <string>Add</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="closePushButton" > + <property name="text" > + <string>Close</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources> + <include location="images/images.qrc" /> + </resources> + <connections> + <connection> + <sender>closePushButton</sender> + <signal>clicked()</signal> + <receiver>QmmpFileDialog</receiver> + <slot>reject()</slot> + <hints> + <hint type="sourcelabel" > + <x>459</x> + <y>291</y> + </hint> + <hint type="destinationlabel" > + <x>153</x> + <y>289</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp new file mode 100644 index 000000000..984cc7204 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.cpp @@ -0,0 +1,109 @@ +#include "qmmpfiledialogimpl.h" + +#include <QDirModel> +#include <QFileInfo> + +QmmpFileDialogImpl::QmmpFileDialogImpl( QWidget * parent, Qt::WindowFlags f) : QDialog(parent,f) +{ + setupUi(this); + setAttribute(Qt::WA_QuitOnClose, FALSE); + m_model = new QDirModel(this); + m_model->setSorting(QDir::Type /*| QDir::Name*/); + fileListView->setModel(m_model); + //fileListView->setViewMode(QListView::IconMode); + listToolButton->setChecked(true); +} + +QmmpFileDialogImpl::~QmmpFileDialogImpl() +{ +} + +void QmmpFileDialogImpl::on_lookInComboBox_activated(const QString&) +{ + qWarning("TODO: %s %d",__FILE__,__LINE__); +} + +void QmmpFileDialogImpl::on_upToolButton_clicked() +{ + fileListView->setRootIndex(m_model->parent(fileListView->rootIndex())); + lookInComboBox->setEditText(m_model->filePath(fileListView->rootIndex())); +} + +void QmmpFileDialogImpl::on_fileListView_doubleClicked(const QModelIndex& ind) +{ + if(ind.isValid()) + { + QFileInfo info = m_model->fileInfo(ind); + if(info.isDir()) + { + fileListView->setRootIndex(ind); + lookInComboBox->setEditText(m_model->filePath(ind)); + } + else + { + QStringList l; + l << m_model->filePath(ind); + emit filesAdded(l); + } + } + +} + +void QmmpFileDialogImpl::on_fileNameLineEdit_returnPressed() +{ + on_addPushButton_clicked(); +} + +void QmmpFileDialogImpl::on_addPushButton_clicked() +{ + QModelIndexList ml = fileListView->selectionModel()->selectedIndexes(); + QStringList l; + foreach(QModelIndex i,ml) + l << m_model->filePath(i); + qWarning("!!!!!!!!!"); + emit filesAdded(l); +} + +void QmmpFileDialogImpl::setModeAndMask(const QString& d,FileDialog::Mode m, const QStringList & mask) +{ + if(m == FileDialog::AddFiles) + { + setWindowTitle("Add Files"); + m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + } + else if(m == FileDialog::AddDirs) + { + setWindowTitle("Add Dirs"); + m_model->setFilter(QDir::Dirs | QDir::NoDotAndDotDot); + } + else + { + setWindowTitle("Save File"); + m_model->setFilter(QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot); + qWarning("To be implemented..."); + } + + m_model->setSorting(QDir::Type); + fileListView->setRootIndex(m_model->index(d)); + m_model->sort(0); + lookInComboBox->setEditText(d); +} + +void QmmpFileDialogImpl::on_listToolButton_toggled(bool yes) +{ + if(yes) + { + iconToolButton->setChecked(false); + fileListView->setViewMode(QListView::ListMode); + } +} + +void QmmpFileDialogImpl::on_iconToolButton_toggled(bool yes) +{ + if(yes) + { + listToolButton->setChecked(false); + fileListView->setViewMode(QListView::IconMode); + } +} + diff --git a/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h new file mode 100644 index 000000000..2be25bf05 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/QmmpFileDialog/qmmpfiledialogimpl.h @@ -0,0 +1,33 @@ +#ifndef QMMPFILEDIALOGIMPL_H +#define QMMPFILEDIALOGIMPL_H + +#include "ui_qmmpfiledialog.h" +#include <QDialog> + +#include "filedialog.h" + +class QDirModel; + + +class QmmpFileDialogImpl : public QDialog , private Ui::QmmpFileDialog +{ +Q_OBJECT +public: + QmmpFileDialogImpl( QWidget * parent = 0, Qt::WindowFlags f = 0 ); + ~QmmpFileDialogImpl(); + void setModeAndMask(const QString&,FileDialog::Mode m,const QStringList& mask); +protected slots: + void on_lookInComboBox_activated(const QString&); + void on_upToolButton_clicked(); + void on_fileListView_doubleClicked(const QModelIndex&); + void on_fileNameLineEdit_returnPressed(); + void on_addPushButton_clicked(); + void on_listToolButton_toggled(bool); + void on_iconToolButton_toggled(bool); +signals: + void filesAdded(const QStringList&); +protected: + QDirModel* m_model; + +}; +#endif //QMMPFILEDIALOGIMPL_H diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro b/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro new file mode 100644 index 000000000..7954ebf01 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/Qt3FileDialog.pro @@ -0,0 +1,28 @@ +QMMPROOT = ../../../qmmp + +INCLUDEPATH += $$QMMPROOT/src +INCLUDEPATH += $$QMMPROOT/lib + +HEADERS += qt3filedialogfactory.h \ + qt3filedialog.h \ + $$QMMPROOT/src/filedialog.h \ + $$QMMPROOT/src/playlistmodel.h + +SOURCES += qt3filedialog.cpp \ + qt3filedialogfactory.cpp \ + $$QMMPROOT/src/filedialog.cpp \ + $$QMMPROOT/src/playlistmodel.cpp + + +DESTDIR = ../ +QMAKE_CLEAN += ../libqt3filedialog.so + + +CONFIG += release warn_on plugin + +TEMPLATE = lib + +QT += qt3support + +#target.path = /plugins/FileDialogs +#INSTALLS += target diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp new file mode 100644 index 000000000..b9b9bc898 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.cpp @@ -0,0 +1,35 @@ +#include "qt3filedialog.h" +#include <Q3FileDialog> + +Qt3SupportFileDialog::~Qt3SupportFileDialog() +{ + qWarning("Qt3SupportFileDialog::~Qt3SupportFileDialog()"); +} + +QString Qt3SupportFileDialog::existingDirectory(QWidget * parent , const QString & caption, const QString & dir) +{ + return Q3FileDialog::getExistingDirectory ( dir, + parent, + 0, + caption, + true, + true ); +} + +QString Qt3SupportFileDialog::openFileName(QWidget * parent,const QString & caption,const QString & /*dir*/,const QString & filter, + QString * selectedFilter) +{ + return Q3FileDialog::getOpenFileName ( QString(),filter,parent,0,caption,selectedFilter); +} + +QStringList Qt3SupportFileDialog::openFileNames(QWidget * parent, const QString & caption , const QString & dir , + const QString & filter, QString * selectedFilter) +{ + return Q3FileDialog::getOpenFileNames(filter,dir,parent,0,caption,selectedFilter); +} + +QString Qt3SupportFileDialog::saveFileName ( QWidget * parent, const QString & caption, + const QString &, const QString & filter, QString * selectedFilter) +{ + return Q3FileDialog::getSaveFileName(QString(),filter,parent,0,caption,selectedFilter); +} diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h new file mode 100644 index 000000000..bbce2e3c8 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialog.h @@ -0,0 +1,23 @@ +#ifndef QT3FILEDIALOG_H +#define QT3FILEDIALOG_H + +#include <filedialog.h> + + +class Qt3SupportFileDialog : public FileDialog +{ + public: + virtual ~Qt3SupportFileDialog(); + virtual QString existingDirectory(QWidget * parent , const QString & , const QString & dir); + virtual QString openFileName(QWidget * parent,const QString & caption,const QString & dir,const QString & filter, + QString * selectedFilter); + virtual QStringList openFileNames(QWidget * parent, const QString & caption , const QString & dir , + const QString & filter, QString * selectedFilter); + virtual QString saveFileName ( QWidget * parent, const QString & caption, + const QString & dir, const QString & filter, QString * selectedFilter); + +}; + +#endif + + diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp new file mode 100644 index 000000000..45b4260bb --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.cpp @@ -0,0 +1,20 @@ +#include <QtPlugin> +#include "qt3filedialogfactory.h" +#include "qt3filedialog.h" + + +FileDialog* Qt3SupportFileDialogFactory::create() +{ + return new Qt3SupportFileDialog(); +} + +QString Qt3SupportFileDialogFactory::name() +{ + return Qt3SupportFileDialogFactory::Qt3SupportFileDialogFactoryName; +} + + +QString Qt3SupportFileDialogFactory::Qt3SupportFileDialogFactoryName = "Qt3 File Dialog"; + +Q_EXPORT_PLUGIN(Qt3SupportFileDialogFactory) + diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h new file mode 100644 index 000000000..e5d3b4595 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/qt3filedialogfactory.h @@ -0,0 +1,19 @@ +#ifndef QT3FILEDIALOGFACTORY_H +#define QT3FILEDIALOGFACTORY_H + + +#include <filedialog.h> + +class Qt3SupportFileDialogFactory : public QObject, public FileDialogFactory +{ + Q_OBJECT + Q_INTERFACES(FileDialogFactory); + public: + virtual FileDialog* create(); + virtual QString name(); + virtual ~Qt3SupportFileDialogFactory(){;} + static QString Qt3SupportFileDialogFactoryName; +}; + +#endif + diff --git a/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme b/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme new file mode 100644 index 000000000..966f7201d --- /dev/null +++ b/src/plugins/Misc/FileDialogs/Qt3FileDialog/readme @@ -0,0 +1,14 @@ +This is simple example of File Dialog plugin. +Requires Qt3Support library. This plugin developed +mostly for QMMP customizing demonstration - +we don't think that somebody will prefer use Qt3 +look&feel :) + +Build: Change QMMPROOT variable in .pro file according your +QMMP build tree location.Then qmake && make + +Install: copy library into ~/.qmmp/plugins/FileDialogs directory. + + + vovanec@gmail.com + diff --git a/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so b/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so Binary files differnew file mode 100755 index 000000000..d04ccf53a --- /dev/null +++ b/src/plugins/Misc/FileDialogs/libQmmpFileDialog.so diff --git a/src/plugins/Misc/FileDialogs/libQt3FileDialog.so b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so Binary files differnew file mode 100755 index 000000000..efbb0d313 --- /dev/null +++ b/src/plugins/Misc/FileDialogs/libQt3FileDialog.so 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 Binary files differnew file mode 100755 index 000000000..f9677157c --- /dev/null +++ b/src/plugins/Misc/PlaylistFormats/libCSVPlaylistFormat.so |
