diff options
Diffstat (limited to 'src/qmmpui')
| -rw-r--r-- | src/qmmpui/playlistparser.cpp | 4 | ||||
| -rw-r--r-- | src/qmmpui/playlistparser.h | 3 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_cs.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_de.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_es.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_it.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_ja.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_lt.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_nl.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_pl.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_pt_BR.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_ru.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_tr.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_uk_UA.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_zh_CN.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/translations/libqmmpui_zh_TW.ts | 22 | ||||
| -rw-r--r-- | src/qmmpui/uihelper.cpp | 53 | ||||
| -rw-r--r-- | src/qmmpui/uihelper.h | 4 |
18 files changed, 327 insertions, 45 deletions
diff --git a/src/qmmpui/playlistparser.cpp b/src/qmmpui/playlistparser.cpp index 7b41f35c9..9ba959e06 100644 --- a/src/qmmpui/playlistparser.cpp +++ b/src/qmmpui/playlistparser.cpp @@ -34,7 +34,9 @@ PlaylistParser::PlaylistParser(QObject *parent) : QObject (parent) } PlaylistParser::~PlaylistParser() -{} +{ + m_instance = 0; +} QStringList PlaylistParser::getExtensions() { diff --git a/src/qmmpui/playlistparser.h b/src/qmmpui/playlistparser.h index 5197feefe..285444686 100644 --- a/src/qmmpui/playlistparser.h +++ b/src/qmmpui/playlistparser.h @@ -21,8 +21,7 @@ #define PLAYLISTPARSER_H #include <QObject> - -class PlaylistFormat; +#include "playlistformat.h" /*! @brief The PlaylistParser class provides a simple api to access playlist format plugins. * @author Ilya Kotov <forkotov02@hotmail.ru> diff --git a/src/qmmpui/translations/libqmmpui_cs.ts b/src/qmmpui/translations/libqmmpui_cs.ts index 405132284..38dd06530 100644 --- a/src/qmmpui/translations/libqmmpui_cs.ts +++ b/src/qmmpui/translations/libqmmpui_cs.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_de.ts b/src/qmmpui/translations/libqmmpui_de.ts index 1fab86535..5c897cac1 100644 --- a/src/qmmpui/translations/libqmmpui_de.ts +++ b/src/qmmpui/translations/libqmmpui_de.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_es.ts b/src/qmmpui/translations/libqmmpui_es.ts index d31de3712..800c75b54 100644 --- a/src/qmmpui/translations/libqmmpui_es.ts +++ b/src/qmmpui/translations/libqmmpui_es.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_it.ts b/src/qmmpui/translations/libqmmpui_it.ts index d1588c70f..c2b1cb673 100644 --- a/src/qmmpui/translations/libqmmpui_it.ts +++ b/src/qmmpui/translations/libqmmpui_it.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_ja.ts b/src/qmmpui/translations/libqmmpui_ja.ts index 30ec07b85..e69c3e986 100644 --- a/src/qmmpui/translations/libqmmpui_ja.ts +++ b/src/qmmpui/translations/libqmmpui_ja.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_lt.ts b/src/qmmpui/translations/libqmmpui_lt.ts index 4421fafeb..496a08818 100644 --- a/src/qmmpui/translations/libqmmpui_lt.ts +++ b/src/qmmpui/translations/libqmmpui_lt.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_nl.ts b/src/qmmpui/translations/libqmmpui_nl.ts index 225bf664e..54edf7a64 100644 --- a/src/qmmpui/translations/libqmmpui_nl.ts +++ b/src/qmmpui/translations/libqmmpui_nl.ts @@ -268,19 +268,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_pl.ts b/src/qmmpui/translations/libqmmpui_pl.ts index a6359653c..b7ab188c3 100644 --- a/src/qmmpui/translations/libqmmpui_pl.ts +++ b/src/qmmpui/translations/libqmmpui_pl.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_pt_BR.ts b/src/qmmpui/translations/libqmmpui_pt_BR.ts index 866b3e3be..d95eb1947 100644 --- a/src/qmmpui/translations/libqmmpui_pt_BR.ts +++ b/src/qmmpui/translations/libqmmpui_pt_BR.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_ru.ts b/src/qmmpui/translations/libqmmpui_ru.ts index b70d72a11..543f2bc6d 100644 --- a/src/qmmpui/translations/libqmmpui_ru.ts +++ b/src/qmmpui/translations/libqmmpui_ru.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_tr.ts b/src/qmmpui/translations/libqmmpui_tr.ts index 306db9f00..524fd0bf6 100644 --- a/src/qmmpui/translations/libqmmpui_tr.ts +++ b/src/qmmpui/translations/libqmmpui_tr.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_uk_UA.ts b/src/qmmpui/translations/libqmmpui_uk_UA.ts index 53a9fc58d..333310043 100644 --- a/src/qmmpui/translations/libqmmpui_uk_UA.ts +++ b/src/qmmpui/translations/libqmmpui_uk_UA.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_zh_CN.ts b/src/qmmpui/translations/libqmmpui_zh_CN.ts index b9d1c6ee1..f04da8908 100644 --- a/src/qmmpui/translations/libqmmpui_zh_CN.ts +++ b/src/qmmpui/translations/libqmmpui_zh_CN.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/translations/libqmmpui_zh_TW.ts b/src/qmmpui/translations/libqmmpui_zh_TW.ts index 0d17aa0e9..cc55b05b2 100644 --- a/src/qmmpui/translations/libqmmpui_zh_TW.ts +++ b/src/qmmpui/translations/libqmmpui_zh_TW.ts @@ -260,19 +260,35 @@ p, li { white-space: pre-wrap; } <context> <name>UiHelper</name> <message> - <location filename="../uihelper.cpp" line="128"/> + <location filename="../uihelper.cpp" line="132"/> <source>All Supported Bitstreams</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="133"/> + <location filename="../uihelper.cpp" line="137"/> <source>Select one or more files to open</source> <translation type="unfinished"></translation> </message> <message> - <location filename="../uihelper.cpp" line="140"/> + <location filename="../uihelper.cpp" line="144"/> <source>Choose a directory</source> <translation type="unfinished"></translation> </message> + <message> + <location filename="../uihelper.cpp" line="156"/> + <location filename="../uihelper.cpp" line="182"/> + <source>Playlist Files</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="158"/> + <source>Open Playlist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../uihelper.cpp" line="183"/> + <source>Save Playlist</source> + <translation type="unfinished"></translation> + </message> </context> </TS> diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp index abc11680a..dd2e13148 100644 --- a/src/qmmpui/uihelper.cpp +++ b/src/qmmpui/uihelper.cpp @@ -25,6 +25,8 @@ #include <QSettings> #include <qmmp/metadatamanager.h> #include <qmmpui/filedialog.h> +#include <qmmpui/playlistparser.h> +#include <qmmpui/playlistmanager.h> #include "general.h" #include "generalfactory.h" #include "uihelper.h" @@ -40,6 +42,8 @@ UiHelper::UiHelper(QObject *parent) General::create(parent); QSettings settings(Qmmp::configFile(), QSettings::IniFormat); m_lastDir = settings.value("General/last_dir", QDir::homePath()).toString(); //last directory + if(!PlaylistParser::instance()) + new PlaylistParser(parent); } UiHelper::~UiHelper() @@ -140,6 +144,55 @@ void UiHelper::addDirectory(QWidget *parent, PlayListModel *model) tr("Choose a directory")); } +void UiHelper::loadPlayList(QWidget *parent, PlayListModel *model) +{ + QStringList l; + QList<PlaylistFormat*> p_list = PlaylistParser::instance()->formats(); + if (!p_list.isEmpty()) + { + foreach(PlaylistFormat* fmt,p_list) + l << fmt->getExtensions(); + + QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")"; + //TODO use nonmodal dialog and multiplier playlists + QString f_name = FileDialog::getOpenFileName(parent ,tr("Open Playlist"),m_lastDir,mask); + if (!f_name.isEmpty()) + { + model->clear(); + model->loadPlaylist(f_name); + model->setName(QFileInfo(f_name).baseName()); + m_lastDir = QFileInfo(f_name).absoluteDir().path(); + } + } + else + { + qWarning("Error: There is no registered playlist parsers"); + } +} + +void UiHelper::savePlayList(QWidget *parent, PlayListModel *model) +{ + QStringList l; + QList<PlaylistFormat*> p_list = PlaylistParser::instance()->formats(); + if (!p_list.isEmpty()) + { + foreach(PlaylistFormat* fmt,p_list) + l << fmt->getExtensions(); + + QString mask = tr("Playlist Files")+" (" + l.join(" *.").prepend("*.") + ")"; + QString f_name = FileDialog::getSaveFileName(parent, tr("Save Playlist"),m_lastDir + "/" + + model->name() + "." + l[0],mask); + + if (!f_name.isEmpty()) + { + model->savePlaylist(f_name); + m_lastDir = QFileInfo(f_name).absoluteDir().path(); + } + } + else + qWarning("Error: There is no registered playlist parsers"); +} + void UiHelper::toggleVisibility() { emit toggleVisibilityCalled(); diff --git a/src/qmmpui/uihelper.h b/src/qmmpui/uihelper.h index ec33250e8..e6987c618 100644 --- a/src/qmmpui/uihelper.h +++ b/src/qmmpui/uihelper.h @@ -90,6 +90,10 @@ public: PlayListModel *model = PlayListManager::instance()->selectedPlayList()); void addDirectory(QWidget *parent = qApp->activeWindow(), PlayListModel *model = PlayListManager::instance()->selectedPlayList()); + void loadPlayList(QWidget *parent = qApp->activeWindow(), + PlayListModel *model = PlayListManager::instance()->selectedPlayList()); + void savePlayList(QWidget *parent = qApp->activeWindow(), + PlayListModel *model = PlayListManager::instance()->selectedPlayList()); /*! * Returns a pointer to the object's instance. */ |
