diff options
37 files changed, 342 insertions, 354 deletions
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index 8398807d5..5cf391ccd 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -69,7 +69,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) m_player = MediaPlayer::instance(); m_core = SoundCore::instance(); m_pl_manager = PlayListManager::instance(); - m_generalHandler = UiHelper::instance(); + m_uiHelper = UiHelper::instance(); //user interface m_skin = new Skin(this); @@ -112,15 +112,15 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) connect(m_core, SIGNAL(stateChanged(Qmmp::State)), SLOT(showState(Qmmp::State))); connect(m_core, SIGNAL(elapsedChanged(qint64)),m_playlist, SLOT(setTime(qint64))); connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData())); - connect(m_generalHandler, SIGNAL(toggleVisibilityCalled()), SLOT(toggleVisibility())); - connect(m_generalHandler, SIGNAL(exitCalled()), SLOT(close())); + connect(m_uiHelper, SIGNAL(toggleVisibilityCalled()), SLOT(toggleVisibility())); + connect(m_uiHelper, SIGNAL(exitCalled()), SLOT(close())); readSettings(); m_display->setEQ(m_equalizer); m_display->setPL(m_playlist); dock->updateDock(); m_pl_manager->currentPlayList()->doCurrentVisibleRequest(); - if (m_startHidden && m_generalHandler->visibilityControl()) + if (m_startHidden && m_uiHelper->visibilityControl()) toggleVisibility(); } @@ -216,12 +216,12 @@ void MainWindow::closeEvent (QCloseEvent *) void MainWindow::addDir() { - m_generalHandler->addDirectory(this); + m_uiHelper->addDirectory(this); } void MainWindow::addFile() { - m_generalHandler->addFile(this); + m_uiHelper->addFile(this); } void MainWindow::changeEvent (QEvent * event) @@ -419,7 +419,7 @@ void MainWindow::createActions() m_visMenu = new VisualMenu(this); m_mainMenu->addMenu(m_visMenu); - m_mainMenu->addMenu(m_generalHandler->createMenu(UiHelper::TOOLS_MENU, tr("Tools"), this)); + m_mainMenu->addMenu(m_uiHelper->createMenu(UiHelper::TOOLS_MENU, tr("Tools"), this)); m_mainMenu->addSeparator(); m_mainMenu->addAction(SET_ACTION(ActionManager::SETTINGS, this, SLOT(showSettings()))); m_mainMenu->addSeparator(); @@ -461,53 +461,12 @@ QMenu* MainWindow::menu() void MainWindow::loadPlaylist() { - 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 m_lastDir; - QString f_name = FileDialog::getOpenFileName(this,tr("Open Playlist"),m_lastDir,mask); - if (!f_name.isEmpty()) - { - m_pl_manager->selectedPlayList()->clear(); - m_pl_manager->selectedPlayList()->loadPlaylist(f_name); - m_pl_manager->selectedPlayList()->setName(QFileInfo(f_name).baseName()); - m_lastDir = QFileInfo(f_name).absoluteDir().path(); - } - } - else - { - qWarning("Error: There is no registered playlist parsers"); - } + m_uiHelper->loadPlayList(this); } void MainWindow::savePlaylist() { - QStringList l; - QList<PlaylistFormat*> p_list = PlaylistParser::instance()->formats(); - QString m_lastDir; - 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(this, tr("Save Playlist"),m_lastDir + "/" + - m_pl_manager->selectedPlayList()->name() + "." + l[0],mask); - - if (!f_name.isEmpty()) - { - m_pl_manager->selectedPlayList()->savePlaylist(f_name); - m_lastDir = QFileInfo(f_name).absoluteDir().path(); - } - } - else - qWarning("Error: There is no registered playlist parsers"); + m_uiHelper->savePlayList(this); } void MainWindow::playPause() @@ -529,7 +488,7 @@ void MainWindow::jumpToFile() void MainWindow::handleCloseRequest() { - if (m_hideOnClose && m_generalHandler->visibilityControl()) + if (m_hideOnClose && m_uiHelper->visibilityControl()) toggleVisibility(); else QApplication::closeAllWindows(); diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h index 9d8a8e519..a228b2be9 100644 --- a/src/plugins/Ui/skinned/mainwindow.h +++ b/src/plugins/Ui/skinned/mainwindow.h @@ -111,7 +111,7 @@ private: JumpToTrackDialog* m_jumpDialog; bool m_hideOnClose, m_startHidden; VisualMenu *m_visMenu; - UiHelper *m_generalHandler; + UiHelper *m_uiHelper; MediaPlayer *m_player; }; diff --git a/src/plugins/Ui/skinned/skinnedfactory.cpp b/src/plugins/Ui/skinned/skinnedfactory.cpp index b220f2ca8..f577a3d2c 100644 --- a/src/plugins/Ui/skinned/skinnedfactory.cpp +++ b/src/plugins/Ui/skinned/skinnedfactory.cpp @@ -37,7 +37,10 @@ void SkinnedFactory::showAbout(QWidget *parent){} QTranslator *SkinnedFactory::createTranslator(QObject *parent) { - return 0; + QTranslator *translator = new QTranslator(parent); + QString locale = Qmmp::systemLanguageID(); + translator->load(QString(":/skinned_plugin_") + locale); + return translator; } Q_EXPORT_PLUGIN2(skinned, SkinnedFactory) diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_cs.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_cs.ts index b5c9f597f..04368e078 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_cs.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_cs.ts @@ -1347,22 +1347,6 @@ <translation type="unfinished">Seznam skladeb</translation> </message> <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Seznamy skladeb</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Načíst seznam skladeb</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Uložit seznam skladeb</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Nástroje</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_de.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_de.ts index 359b72ae9..6f9cb3335 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_de.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_de.ts @@ -1347,22 +1347,6 @@ <translation>Wiedergabeliste</translation> </message> <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Wiedergabelisten</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Wiedergabeliste öffnen</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Wiedergabeliste speichern</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Werkzeuge</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_es.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_es.ts index e2ef4b6c0..f06a1d73b 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_es.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_es.ts @@ -1347,22 +1347,6 @@ <translation>Lista de reproducción</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Abrir la lista de reproducción</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Guardar la lista de reproducción</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Archivos a reproducir</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Herramientas</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_hu.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_hu.ts index ee6dbbd64..0770292f1 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_hu.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_hu.ts @@ -1351,22 +1351,6 @@ <source>Tools</source> <translation>Eszközök</translation> </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Lejátszási lista fájl</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Lista megnyitása</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Lista mentése</translation> - </message> </context> <context> <name>PlayList</name> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_it.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_it.ts index ea0ed4cc3..1cc270fe9 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_it.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_it.ts @@ -1347,22 +1347,6 @@ <translation type="unfinished"></translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Apri lista di brani</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Salva lista di brani</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Brani della lista</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Strumenti</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_ja.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_ja.ts index e5df00932..aaf97c3d4 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_ja.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_ja.ts @@ -1351,22 +1351,6 @@ <source>Tools</source> <translation>ツール</translation> </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>プレイリストファイル</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>プレイリストを開く</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>プレイリストを保存</translation> - </message> </context> <context> <name>PlayList</name> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_lt.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_lt.ts index 3e0172681..aa561045c 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_lt.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_lt.ts @@ -1349,22 +1349,6 @@ <translation>Grojaraštis</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Atverti grojaraštį</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Išsaugoti grojaraštį</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Grojaraščio bylos</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Įrankiai</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_nl.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_nl.ts index fa4316e00..d1de43ba5 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_nl.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_nl.ts @@ -1347,22 +1347,6 @@ <translation type="unfinished">Afspeellijst</translation> </message> <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Afspeellijst Bestanden</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Open Afspeellijst</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Bewaar Afspeellijst</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Gereedschappen</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_pl_PL.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_pl_PL.ts index 28b6094f4..5ddc92ae4 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_pl_PL.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_pl_PL.ts @@ -1347,22 +1347,6 @@ <translation>Lista odtwarzania</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Otwórz listę odtwarzania</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Zapisz listę odtwarzania</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Pliki listy odtwarzania</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Narzędzia</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_pt_BR.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_pt_BR.ts index 88f8aa355..ac26c0a18 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_pt_BR.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_pt_BR.ts @@ -1347,22 +1347,6 @@ <translation type="unfinished">Lista de músicas</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation type="unfinished">Abrir Playlist</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation type="unfinished">Salvar Playlist</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation type="unfinished">ФArquivos de lista de músicas</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation type="unfinished"></translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_ru.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_ru.ts index 6b31549ba..256127b15 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_ru.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_ru.ts @@ -1347,22 +1347,6 @@ <translation>Список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Открыть список</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Сохранить список</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Файлы списков</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Сервис</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_sk.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_sk.ts index 3cbac763c..8d0ee5b81 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_sk.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_sk.ts @@ -1347,22 +1347,6 @@ <translation>Playlist</translation> </message> <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Súbory playlistov</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Otvoriť playlist</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Uložiť playlist</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Nástroje</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_tr.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_tr.ts index b0593a4bd..01de09cf0 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_tr.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_tr.ts @@ -1347,22 +1347,6 @@ <translation type="unfinished">Çalma Listesi</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Çalma Listesini Aç</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Çalma Listesini Kaydet</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Çalma Listesi Dosyaları</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Araçlar</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_uk_UA.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_uk_UA.ts index 1ff98e19d..84e756841 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_uk_UA.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_uk_UA.ts @@ -1347,22 +1347,6 @@ <translation>Список</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>Відкрити список</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>Зберегти список</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>Файли списків</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>Утиліти</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_zh_CN.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_zh_CN.ts index 4a2455f95..1e262cdfb 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_zh_CN.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_zh_CN.ts @@ -1347,22 +1347,6 @@ <translation>播放列表</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>打开播放列表</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>保存播放列表</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>播放列表文件</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>工具</translation> diff --git a/src/plugins/Ui/skinned/translations/skinned_plugin_zh_TW.ts b/src/plugins/Ui/skinned/translations/skinned_plugin_zh_TW.ts index 08ac73afd..e6b162dbb 100644 --- a/src/plugins/Ui/skinned/translations/skinned_plugin_zh_TW.ts +++ b/src/plugins/Ui/skinned/translations/skinned_plugin_zh_TW.ts @@ -1347,22 +1347,6 @@ <translation>播放清單</translation> </message> <message> - <location filename="../mainwindow.cpp" line="474"/> - <source>Open Playlist</source> - <translation>開啟播放清單</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="500"/> - <source>Save Playlist</source> - <translation>儲存播放清單</translation> - </message> - <message> - <location filename="../mainwindow.cpp" line="471"/> - <location filename="../mainwindow.cpp" line="499"/> - <source>Playlist Files</source> - <translation>播放清單文件</translation> - </message> - <message> <location filename="../mainwindow.cpp" line="422"/> <source>Tools</source> <translation>工具</translation> 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. */ |
