From 24af8da3f8942c200ba0058341a66a888224aa3c Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 1 Nov 2010 17:54:27 +0000 Subject: changed playlist api, prepare for shortcut editor implementation, fixed direcory scan order (Closes issue 207) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1970 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/General/hal/halplugin.cpp | 9 +- src/plugins/General/mpris/tracklistobject.cpp | 42 ++- src/plugins/General/mpris/tracklistobject.h | 3 + src/plugins/General/udisks/udisksplugin.cpp | 11 +- src/qmmpui/fileloader.cpp | 62 ++-- src/qmmpui/fileloader.h | 24 +- src/qmmpui/playlistmanager.cpp | 14 +- src/qmmpui/playlistmanager.h | 12 +- src/qmmpui/playlistmodel.cpp | 160 +++------- src/qmmpui/playlistmodel.h | 57 ++-- src/ui/CMakeLists.txt | 4 + src/ui/actionmanager.cpp | 82 ++++++ src/ui/actionmanager.h | 70 +++++ src/ui/addurldialog.cpp | 4 +- src/ui/configdialog.cpp | 15 + src/ui/configdialog.h | 1 + src/ui/forms/configdialog.ui | 56 ++++ src/ui/listwidget.cpp | 10 +- src/ui/mainwindow.cpp | 60 ++-- src/ui/mainwindow.h | 1 + src/ui/shortcutitem.cpp | 34 +++ src/ui/shortcutitem.h | 44 +++ src/ui/translations/qmmp_cs.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_de.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_es.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_hu.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_it.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_ja.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_lt.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_nl.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_pl_PL.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_pt_BR.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_ru.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_tr.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_uk_UA.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_zh_CN.ts | 409 ++++++++++++++------------ src/ui/translations/qmmp_zh_TW.ts | 409 ++++++++++++++------------ src/ui/ui.pro | 8 +- 38 files changed, 3859 insertions(+), 3059 deletions(-) create mode 100644 src/ui/actionmanager.cpp create mode 100644 src/ui/actionmanager.h create mode 100644 src/ui/shortcutitem.cpp create mode 100644 src/ui/shortcutitem.h (limited to 'src') diff --git a/src/plugins/General/hal/halplugin.cpp b/src/plugins/General/hal/halplugin.cpp index 90106b8b0..205fd49b7 100644 --- a/src/plugins/General/hal/halplugin.cpp +++ b/src/plugins/General/hal/halplugin.cpp @@ -190,10 +190,7 @@ void HalPlugin::processAction(QAction *action) { qDebug("HalPlugin: action triggered: %s", qPrintable(action->data().toString())); QString path = action->data().toString(); - if (path.startsWith("cdda://")) - MediaPlayer::instance()->playListManager()->selectedPlayList()->addFile(path); - else - MediaPlayer::instance()->playListManager()->selectedPlayList()->addDirectory(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); } QAction *HalPlugin::findAction(const QString &dev_path) @@ -238,11 +235,11 @@ void HalPlugin::addPath(const QString &path) if (path.startsWith("cdda://") && m_addTracks) { - MediaPlayer::instance()->playListManager()->selectedPlayList()->addFile(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); return; } else if (!path.startsWith("cdda://") && m_addFiles) - MediaPlayer::instance()->playListManager()->selectedPlayList()->addDirectory(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); } void HalPlugin::removePath(const QString &path) diff --git a/src/plugins/General/mpris/tracklistobject.cpp b/src/plugins/General/mpris/tracklistobject.cpp index 56562e8cc..a55f2c770 100644 --- a/src/plugins/General/mpris/tracklistobject.cpp +++ b/src/plugins/General/mpris/tracklistobject.cpp @@ -35,6 +35,7 @@ TrackListObject::TrackListObject(QObject *parent) : QObject(parent) connect (m_model, SIGNAL(listChanged()), SLOT(updateTrackList())); connect (m_pl_manager, SIGNAL(currentPlayListChanged(PlayListModel*,PlayListModel*)), SLOT(switchPlayList(PlayListModel*,PlayListModel*))); + m_prev_count = 0; } @@ -44,21 +45,25 @@ TrackListObject::~TrackListObject() int TrackListObject::AddTrack(const QString &in0, bool in1) { - int old_count = m_model->count(); + QString path = in0; if(in0.startsWith("file://")) - m_model->addFile(QUrl(in0).toLocalFile ()); //converts url to local file path - else - m_model->addFile(in0); - int new_count = m_model->count(); - if(new_count == old_count) - return 0; + { + path = QUrl(in0).toLocalFile (); + if(!QFile::exists(path)) + return 1; //error + } if(in1) { - m_model->setCurrent(new_count-1); + m_pl_manager->selectPlayList(m_model); m_player->stop(); - m_player->play(); + qDebug("1"); + m_prev_count = m_model->count(); + connect(m_model, SIGNAL(listChanged()), this, SLOT(checkNewItem())); + connect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); + qDebug("2"); } - return 1; + m_model->add(path); + return 0; } void TrackListObject::DelTrack(int in0) @@ -109,6 +114,22 @@ void TrackListObject::SetRandom(bool in0) m_pl_manager->setShuffle(in0); } +void TrackListObject::disconnectPl() +{ + disconnect(m_model, SIGNAL(listChanged()), this, SLOT(checkNewItem())); + disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); +} + +void TrackListObject::checkNewItem() //checks for new item in playlist +{ + if(m_model->count() > m_prev_count) + { + disconnectPl(); //disconnect playlist; + m_model->setCurrent(m_prev_count); // activate first added item + m_player->play(); // ... and play it + } +} + void TrackListObject::updateTrackList() { emit TrackListChange(m_model->count()); @@ -116,6 +137,7 @@ void TrackListObject::updateTrackList() void TrackListObject::switchPlayList(PlayListModel *cur, PlayListModel *prev) { + disconnectPl(); m_model = cur; connect (m_model, SIGNAL(listChanged()), SLOT(updateTrackList())); if(prev) diff --git a/src/plugins/General/mpris/tracklistobject.h b/src/plugins/General/mpris/tracklistobject.h index 0004f25b9..eec9eda3c 100644 --- a/src/plugins/General/mpris/tracklistobject.h +++ b/src/plugins/General/mpris/tracklistobject.h @@ -54,6 +54,8 @@ signals: void TrackListChange(int in0); private slots: + void disconnectPl(); + void checkNewItem(); void updateTrackList(); void switchPlayList(PlayListModel *cur, PlayListModel *prev); @@ -61,6 +63,7 @@ private: PlayListModel *m_model; PlayListManager *m_pl_manager; MediaPlayer *m_player; + int m_prev_count; }; diff --git a/src/plugins/General/udisks/udisksplugin.cpp b/src/plugins/General/udisks/udisksplugin.cpp index 75b2a25bb..fd228319f 100644 --- a/src/plugins/General/udisks/udisksplugin.cpp +++ b/src/plugins/General/udisks/udisksplugin.cpp @@ -182,10 +182,7 @@ void UDisksPlugin::processAction(QAction *action) { qDebug("UDisksPlugin: action triggered: %s", qPrintable(action->data().toString())); QString path = action->data().toString(); - if (path.startsWith("cdda://")) - MediaPlayer::instance()->playListManager()->selectedPlayList()->addFile(path); - else - MediaPlayer::instance()->playListManager()->selectedPlayList()->addDirectory(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); } QAction *UDisksPlugin::findAction(const QString &dev_path) @@ -206,7 +203,7 @@ UDisksDevice *UDisksPlugin::findDevice(QAction *action) if (device->property("DeviceIsOpticalDisc").toBool() && device->property("OpticalDiscNumAudioTracks").toInt()) { - dev_path = "cdda://" + device->property("DeviceFile").toString(); + dev_path = "cdda://" + device->property("DeviceFile").toString(); if (dev_path == action->data().toString()) return device; } @@ -230,11 +227,11 @@ void UDisksPlugin::addPath(const QString &path) if (path.startsWith("cdda://") && m_addTracks) { - MediaPlayer::instance()->playListManager()->selectedPlayList()->addFile(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); return; } else if (!path.startsWith("cdda://") && m_addFiles) - MediaPlayer::instance()->playListManager()->selectedPlayList()->addDirectory(path); + MediaPlayer::instance()->playListManager()->selectedPlayList()->add(path); } void UDisksPlugin::removePath(const QString &path) diff --git a/src/qmmpui/fileloader.cpp b/src/qmmpui/fileloader.cpp index a20560486..6c53c62a8 100644 --- a/src/qmmpui/fileloader.cpp +++ b/src/qmmpui/fileloader.cpp @@ -23,8 +23,7 @@ #include "playlistsettings.h" #include "playlistitem.h" -FileLoader::FileLoader(QObject *parent) - : QThread(parent),m_files_to_load(),m_directory() +FileLoader::FileLoader(QObject *parent) : QThread(parent) { m_filters = MetaDataManager::instance()->nameFilters(); m_finished = false; @@ -37,18 +36,12 @@ FileLoader::~FileLoader() } -void FileLoader::addFiles(const QStringList &files) +void FileLoader::addFile(const QString &path) { - if (files.isEmpty ()) - return; bool use_meta = PlaylistSettings::instance()->useMetadata(); - foreach(QString s, files) - { - QList playList = MetaDataManager::instance()->createPlayList(s, use_meta); - foreach(FileInfo *info, playList) + QList playList = MetaDataManager::instance()->createPlayList(path, use_meta); + foreach(FileInfo *info, playList) emit newPlayListItem(new PlayListItem(info)); - if (m_finished) return; - } } @@ -59,13 +52,9 @@ void FileLoader::addDirectory(const QString& s) dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks); dir.setSorting(QDir::Name); QFileInfoList l = dir.entryInfoList(m_filters); - bool use_meta = PlaylistSettings::instance()->useMetadata(); - for (int i = 0; i < l.size(); ++i) + foreach(QFileInfo info, l) { - QFileInfo fileInfo = l.at(i); - playList = MetaDataManager::instance()->createPlayList(fileInfo.absoluteFilePath (), use_meta); - foreach(FileInfo *info, playList) - emit newPlayListItem(new PlayListItem(info)); + addFile(info.absoluteFilePath ()); if (m_finished) return; } dir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot); @@ -83,25 +72,44 @@ void FileLoader::addDirectory(const QString& s) void FileLoader::run() { - if (!m_files_to_load.isEmpty()) - addFiles(m_files_to_load); - else if (!m_directory.isEmpty()) - addDirectory(m_directory); + m_finished = false; + while(!m_files.isEmpty() || !m_directories.isEmpty()) + { + if(!m_files.isEmpty()) + { + addFile(m_files.dequeue()); + continue; + } + if(!m_directories.isEmpty()) + { + addDirectory(m_directories.dequeue()); + continue; + } + } +} + +void FileLoader::loadFile(const QString &path) +{ + m_files.enqueue(path); + start(QThread::IdlePriority); } -void FileLoader::setFilesToLoad(const QStringList & l) +void FileLoader::loadFiles(const QStringList &paths) { - m_files_to_load = l; - m_directory = QString(); + m_files << paths; + start(QThread::IdlePriority); } -void FileLoader::setDirectoryToLoad(const QString & d) +void FileLoader::loadDirectory(const QString &path) { - m_directory = d; - m_files_to_load.clear(); + m_directories.enqueue(path); + start(QThread::IdlePriority); } void FileLoader::finish() { m_finished = true; + m_files.clear(); + m_directories.clear(); + wait(); } diff --git a/src/qmmpui/fileloader.h b/src/qmmpui/fileloader.h index 466606ccb..7b3ad8862 100644 --- a/src/qmmpui/fileloader.h +++ b/src/qmmpui/fileloader.h @@ -22,6 +22,7 @@ #include #include +#include #include class PlayListItem; @@ -49,17 +50,22 @@ public: */ ~FileLoader(); /*! - * Call this method when you want to notify the thread about finishing + * Sets files to load */ void finish(); /*! - * Sets filelist to load( directory to load will be cleaned ) + * Sets file to load */ - void setFilesToLoad(const QStringList&); + void loadFile(const QString &path); /*! - * Sets directory to load( filelist to load will be cleaned ) + * Sets files to load */ - void setDirectoryToLoad(const QString&); + void loadFiles(const QStringList &paths); + /*! + * Sets directory to load + */ + void loadDirectory(const QString &path); + signals: /*! * Emitted when new playlist item is available. @@ -69,13 +75,13 @@ signals: protected: virtual void run(); - void addFiles(const QStringList &files); - void addDirectory(const QString& s); + void addFile(const QString &path); + void addDirectory(const QString &s); private: QStringList m_filters; - QStringList m_files_to_load; - QString m_directory; + QQueue m_files; + QQueue m_directories; bool m_finished; }; diff --git a/src/qmmpui/playlistmanager.cpp b/src/qmmpui/playlistmanager.cpp index 1db91cde0..6960b1068 100644 --- a/src/qmmpui/playlistmanager.cpp +++ b/src/qmmpui/playlistmanager.cpp @@ -444,19 +444,9 @@ void PlayListManager::showDetails() m_selected->showDetails(); } -void PlayListManager::addFile(const QString &path) +void PlayListManager::add(const QStringList &paths) { - m_selected->addFile(path); -} - -void PlayListManager::addFiles(const QStringList& l) -{ - m_selected->addFiles(l); -} - -void PlayListManager::addDirectory(const QString& dir) -{ - m_selected->addDirectory(dir); + m_selected->add(paths); } void PlayListManager::randomizeList() diff --git a/src/qmmpui/playlistmanager.h b/src/qmmpui/playlistmanager.h index de9108055..b8559b05b 100644 --- a/src/qmmpui/playlistmanager.h +++ b/src/qmmpui/playlistmanager.h @@ -249,17 +249,9 @@ public slots: */ void showDetails(); /*! - * This is a convenience function and is the same as calling \b selectedPlayList()->addFile(path) + * This is a convenience function and is the same as calling \b selectedPlayList()->add(paths) */ - void addFile(const QString &path); - /*! - * This is a convenience function and is the same as calling \b selectedPlayList()->addFiles(l) - */ - void addFiles(const QStringList& l); - /*! - * This is a convenience function and is the same as calling \b selectedPlayList()->addDirectory(dir) - */ - void addDirectory(const QString& dir); + void add(const QStringList &paths); /*! * This is a convenience function and is the same as calling \b selectedPlayList()->randomizeList() */ diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp index a710073b4..541fd3f26 100644 --- a/src/qmmpui/playlistmodel.cpp +++ b/src/qmmpui/playlistmodel.cpp @@ -73,22 +73,20 @@ PlayListModel::PlayListModel(const QString &name, QObject *parent) m_total_length = 0; m_current = 0; is_repeatable_list = false; - m_play_state = new NormalPlayState(this); m_stop_item = 0; + m_play_state = new NormalPlayState(this); + m_loader = new FileLoader(this); + connect(m_loader, SIGNAL(newPlayListItem(PlayListItem*)), + SLOT(add(PlayListItem*)), Qt::QueuedConnection); + connect(m_loader, SIGNAL(finished()), SLOT(preparePlayState())); + connect(m_loader, SIGNAL(finished()), SIGNAL(loaderFinished())); } PlayListModel::~PlayListModel() { clear(); delete m_play_state; - foreach(GuardedFileLoader l,m_running_loaders) - { - if (!l.isNull()) - { - l->finish(); - l->wait(); - } - } + m_loader->finish(); } QString PlayListModel::name() const @@ -115,7 +113,7 @@ void PlayListModel::add(PlayListItem *item) m_current = m_items.indexOf(m_currentItem); if (m_items.size() == 1) - emit firstAdded(); + emit firstAdded(); emit listChanged(); } @@ -136,6 +134,29 @@ void PlayListModel::add(QList items) emit listChanged(); } +void PlayListModel::add(const QString &path) +{ + QFileInfo f_info(path); + //if (f_info.exists() || path.contains("://")) + { + if (f_info.isDir()) + m_loader->loadDirectory(path); + else + { + m_loader->loadFile(path); + loadPlaylist(path); + } + } +} + +void PlayListModel::add(const QStringList &paths) +{ + foreach(QString str, paths) + { + add(str); + } +} + int PlayListModel::count() { return m_items.size(); @@ -147,7 +168,7 @@ PlayListItem* PlayListModel::currentItem() } PlayListItem* PlayListModel::nextItem() -{ +{ if(m_items.isEmpty() || !m_play_state) return 0; if(m_stop_item && m_stop_item == currentItem()) @@ -195,31 +216,21 @@ bool PlayListModel::next() return true; } - if (isFileLoaderRunning()) + if(m_loader->isRunning()) m_play_state->prepare(); return m_play_state->next(); } bool PlayListModel::previous() { - if (isFileLoaderRunning()) + if (m_loader->isRunning()) m_play_state->prepare(); return m_play_state->previous(); } void PlayListModel::clear() { - foreach(GuardedFileLoader l,m_running_loaders) - { - if (!l.isNull()) - { - l->finish(); - l->wait(); - } - } - - m_running_loaders.clear(); - + m_loader->finish(); m_current = 0; m_stop_item = 0; while (!m_items.isEmpty()) @@ -407,13 +418,13 @@ void PlayListModel::selectAll() emit listChanged(); } -void PlayListModel::showDetails() +void PlayListModel::showDetails(QWidget *parent) { for (int i = 0; iisSelected()) { - QDialog *d = new DetailsDialog(m_items.at(i)); //TODO set parent widget + QDialog *d = new DetailsDialog(m_items.at(i), parent); TagUpdater *updater = new TagUpdater(d, m_items.at(i)); m_editing_items.append(m_items.at(i)); connect(updater, SIGNAL(destroyed(QObject *)),SIGNAL(listChanged())); @@ -423,92 +434,6 @@ void PlayListModel::showDetails() } } -void PlayListModel::addFile(const QString& path) -{ - if (path.isEmpty()) - return; - QList playList = - MetaDataManager::instance()->createPlayList(path, PlaylistSettings::instance()->useMetadata()); - foreach(FileInfo *info, playList) - add(new PlayListItem(info)); - - m_play_state->prepare(); -} - -FileLoader * PlayListModel::createFileLoader() -{ - FileLoader* f_loader = new FileLoader(this); -// f_loader->setStackSize(20 * 1024 * 1024); - m_running_loaders << f_loader; - connect(f_loader,SIGNAL(newPlayListItem(PlayListItem*)),SLOT(add(PlayListItem*)),Qt::QueuedConnection); - connect(f_loader,SIGNAL(finished()),this,SLOT(preparePlayState())); - connect(f_loader,SIGNAL(finished()),f_loader,SLOT(deleteLater())); - return f_loader; -} - -void PlayListModel::addFiles(const QStringList &files) -{ - FileLoader* f_loader = createFileLoader(); - f_loader->setFilesToLoad(files); - f_loader->start(QThread::IdlePriority); -} - -void PlayListModel::addDirectory(const QString& s) -{ - FileLoader* f_loader = createFileLoader(); - f_loader->setDirectoryToLoad(s); - f_loader->start(QThread::IdlePriority); -} - -void PlayListModel::addFileList(const QStringList &l) -{ -// qWarning("void// PlayListModel::addFileList(const QStringList &l)"); - foreach(QString str,l) - { - QFileInfo f_info(str); - if (f_info.exists() || str.contains("://")) - { - if (f_info.isDir()) - addDirectory(str); - else - { - addFile(str); - loadPlaylist(str); - } - } - // Do processing the rest of events to avoid GUI freezing - QApplication::processEvents(QEventLoop::AllEvents,10); - } -} - -bool PlayListModel::setFileList(const QStringList & l) -{ - bool model_cleared = false; - foreach(QString str,l) - { - QFileInfo f_info(str); - if (f_info.exists() || str.contains("://")) - { - if (!model_cleared) - { - clear(); - model_cleared = true; - } - if (f_info.isDir()) - addDirectory(str); - else - { - addFile(str); - loadPlaylist(str); - } - } - // Do processing the rest of events to avoid GUI freezing - QApplication::processEvents(QEventLoop::AllEvents,10); - } - - return model_cleared; -} - int PlayListModel::firstSelectedUpper(int row) { for (int i = row - 1;i >= 0;i--) @@ -895,7 +820,7 @@ void PlayListModel::loadPlaylist(const QString &f_name) if (QFileInfo(list.at(i)).isRelative() && !list.at(i).contains("://")) QString path = list[i].prepend(QFileInfo(f_name).canonicalPath () + QDir::separator ()); } - addFiles(list); + m_loader->loadFiles(list); file.close(); } else @@ -933,15 +858,6 @@ bool PlayListModel::isShuffle() const return m_shuffle; } -bool PlayListModel::isFileLoaderRunning() const -{ - foreach(FileLoader* l,m_running_loaders) - if (l && l->isRunning()) - return true; - - return false; -} - void PlayListModel::preparePlayState() { m_play_state->prepare(); diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h index ac5668ffa..b44270758 100644 --- a/src/qmmpui/playlistmodel.h +++ b/src/qmmpui/playlistmodel.h @@ -298,6 +298,10 @@ signals: * @param name New playlist name. */ void nameChanged(const QString& name); + /*! + * Emitted when playlist loader thread has finished. + */ + void loaderFinished(); public slots: /*! @@ -306,9 +310,19 @@ public slots: void add(PlayListItem *item); /*! * Adds a list of items to the playlist. - * @param items List of items + * @param items List of items. */ void add(QList items); + /*! + * Adds a list of files and directories to the playlist + * @param path Full path of file or directory. + */ + void add(const QString &path); + /*! + * Adds a list of files and directories to the playlist + * @param paths Full paths of files and directories. + */ + void add(const QStringList &paths); /*! * Removes all items. */ @@ -343,34 +357,13 @@ public slots: void selectAll(); /*! * Shows details for the first selected item. + * @param parent parent Widget. */ - void showDetails(); + void showDetails(QWidget *parent = 0); /*! * Emits update signals manually. */ void doCurrentVisibleRequest(); - /*! - * Adds file \b path to the playlist. File should be supported. - */ - void addFile(const QString &path); - /*! - * Adds the list \b l of files to the model. - */ - void addFiles(const QStringList& l); - /*! - * Adds \b dir to the model. - */ - void addDirectory(const QString& dir); - /*! - * Removes previous items and loads list of files (regular files or directories), - * returns \b true if at least one file has been successfully loaded, - * otherwise returns \b false - */ - bool setFileList(const QStringList &l); - /*! - * Loads list of files (regular files or directories) - */ - void addFileList(const QStringList &l); /*! * Randomly changes items order. */ @@ -433,14 +426,6 @@ private: * Returns bottommost row in current selection */ int bottommostInSelection(int); - /*! - * Creates and initializes file loader object. - */ - FileLoader* createFileLoader(); - /*! - * Is someone of file loaders is running? - */ - bool isFileLoaderRunning()const; /*! * Removes items from model. If \b inverted is \b false - * selected items will be removed, else - unselected. @@ -473,13 +458,7 @@ private: */ PlayState* m_play_state; int m_total_length; - typedef QPointer GuardedFileLoader; - /*! - * Vector of currently running file loaders. - * All loaders are automatically sheduled for deletion - * when finished. - */ - QVector m_running_loaders; + FileLoader *m_loader; bool m_shuffle; QString m_name; }; diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index 9f9a31774..d853a4cd3 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -85,6 +85,8 @@ SET(ui_SRCS windowsystem.cpp viewmenu.cpp lxdesupport.cpp + actionmanager.cpp + shortcutitem.cpp ) SET(ui_MOC_HDRS @@ -140,6 +142,8 @@ SET(ui_MOC_HDRS windowsystem.h viewmenu.h lxdesupport.h + shortcutitem.h + actionmanager.h ) SET(ui_RCCS images/images.qrc stuff.qrc translations/qmmp_locales.qrc) diff --git a/src/ui/actionmanager.cpp b/src/ui/actionmanager.cpp new file mode 100644 index 000000000..9e329226e --- /dev/null +++ b/src/ui/actionmanager.cpp @@ -0,0 +1,82 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include +#include +#include +#include +#include "actionmanager.h" + +ActionManager *ActionManager::m_instance = 0; + +ActionManager::ActionManager(QObject *parent) : + QObject(parent) +{ + m_instance = this; + m_settings = new QSettings(Qmmp::configFile(), QSettings::IniFormat); + m_settings->beginGroup("Shortcuts"); + m_actions[PLAY] = createAction(tr("&Play"), "play", tr("X"), "media-playback-start"); + m_actions[PAUSE] = createAction(tr("&Pause"), "pause", tr("C"), "media-playback-pause"); + m_actions[STOP] = createAction(tr("&Stop"), "stop", tr("V"), "media-playback-stop"); + m_actions[PREVIOUS] = createAction(tr("&Previous"), "previous", tr("Z"), "media-skip-backward"); + m_actions[NEXT] = createAction(tr("&Next"), "next", tr("B"), "media-skip-forward"); + m_actions[PLAY_PAUSE] = createAction(tr("&Play/Pause"), "play_pause", tr("Space")); + m_actions[JUMP] = createAction(tr("&Jump to File"), "jump", tr("J"), "go-up"); + m_settings->endGroup(); + delete m_settings; + m_settings = 0; +} + +ActionManager::~ActionManager() +{ + m_instance = 0; +} + +QAction *ActionManager::action(int type) +{ + return m_actions[type]; +} + +QAction *ActionManager::use(int type, const QObject *receiver, const char *member) +{ + QAction *act = m_actions[type]; + connect(act,SIGNAL(triggered(bool)), receiver, member); + return act; +} + +ActionManager* ActionManager::instance() +{ + return m_instance; +} + +QAction *ActionManager::createAction(QString name, QString confKey, QString key, QString iconName) +{ + QAction *action = new QAction(name, this); + action->setShortcut(m_settings->value(confKey, key).toString()); + action->setObjectName(confKey); + if(iconName.isEmpty()) + return action; + if(QFile::exists(iconName)) + action->setIcon(QIcon(iconName)); + else + action->setIcon(QIcon::fromTheme(iconName)); + return action; +} diff --git a/src/ui/actionmanager.h b/src/ui/actionmanager.h new file mode 100644 index 000000000..565c63e60 --- /dev/null +++ b/src/ui/actionmanager.h @@ -0,0 +1,70 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#ifndef ACTIONMANAGER_H +#define ACTIONMANAGER_H + +#include +#include +#include + +#define ACTION(type, receiver, member) ActionManager::instance()->use(type, receiver, member) + +class QAction; +class QSettings; + + + +class ActionManager : public QObject +{ + Q_OBJECT +public: + explicit ActionManager(QObject *parent = 0); + ~ActionManager(); + + enum Type + { + PLAY = 0, + PAUSE, + STOP, + PREVIOUS, + NEXT, + PLAY_PAUSE, + JUMP, + + SETTINGS, + ABOUT, + ABOUT_QT + }; + + QAction *action(int type); + QAction *use(int type, const QObject *receiver, const char *member); + QList actions(); + static ActionManager* instance(); + +private: + QAction *createAction(QString name, QString confKey, QString key, QString iconName = QString()); + QSettings *m_settings; + QHash m_actions; + static ActionManager *m_instance; + +}; + +#endif // ACTIONMANAGER_H diff --git a/src/ui/addurldialog.cpp b/src/ui/addurldialog.cpp index dd14fe11f..5b65337db 100644 --- a/src/ui/addurldialog.cpp +++ b/src/ui/addurldialog.cpp @@ -104,7 +104,7 @@ void AddUrlDialog::accept( ) return; } } - m_model->addFile(s); //TODO fix interface freezes + m_model->add(s); } QDialog::accept(); } @@ -121,7 +121,7 @@ void AddUrlDialog::readResponse(QNetworkReply *reply) PlaylistFormat* prs = PlaylistParser::instance()->findByPath(s); if (prs) { - m_model->addFiles(prs->decode(reply->readAll())); + m_model->add(prs->decode(reply->readAll())); QDialog::accept(); } } diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp index 95f451605..0bdcc065e 100644 --- a/src/ui/configdialog.cpp +++ b/src/ui/configdialog.cpp @@ -45,6 +45,8 @@ #include #include #include +#include "actionmanager.h" +#include "shortcutitem.h" #include "popupsettings.h" #include "skin.h" #include "pluginitem.h" @@ -75,6 +77,7 @@ ConfigDialog::ConfigDialog (QWidget *parent) m_reader = new SkinReader(this); loadSkins(); loadPluginsInfo(); + loadShortcuts(); loadFonts(); createMenus(); //setup icons @@ -333,6 +336,18 @@ void ConfigDialog::loadFonts() ui.useBitmapCheckBox->setChecked(settings.value("MainWindow/bitmap_font", false).toBool()); } +void ConfigDialog::loadShortcuts() +{ + //playback + QTreeWidgetItem *item = new QTreeWidgetItem (ui.shortcutTreeWidget, QStringList() << tr("Playback")); + for(int i = ActionManager::PLAY; i <= ActionManager::PLAY_PAUSE; ++i) + new ShortcutItem(item, i); + item->setExpanded(true); + ui.shortcutTreeWidget->addTopLevelItem(item); + ui.shortcutTreeWidget->resizeColumnToContents(0); + ui.shortcutTreeWidget->resizeColumnToContents(1); +} + void ConfigDialog::setPlFont() { bool ok; diff --git a/src/ui/configdialog.h b/src/ui/configdialog.h index 7136b2cfc..ccf379724 100644 --- a/src/ui/configdialog.h +++ b/src/ui/configdialog.h @@ -67,6 +67,7 @@ private: void findSkins(const QString &path); void loadPluginsInfo(); void loadFonts(); + void loadShortcuts(); void createMenus(); diff --git a/src/ui/forms/configdialog.ui b/src/ui/forms/configdialog.ui index 77f1d9b1b..30259a2c9 100644 --- a/src/ui/forms/configdialog.ui +++ b/src/ui/forms/configdialog.ui @@ -147,6 +147,11 @@ :/replaygain.png:/replaygain.png + + + Shortcuts + + @@ -1231,6 +1236,57 @@ + + + + + + true + + + true + + + + Action + + + + + Shortcut + + + + + + + + Change + + + + + + + Reset + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + diff --git a/src/ui/listwidget.cpp b/src/ui/listwidget.cpp index 9c1a94306..716480955 100644 --- a/src/ui/listwidget.cpp +++ b/src/ui/listwidget.cpp @@ -385,15 +385,7 @@ void ListWidget::dropEvent(QDropEvent *event) void ListWidget::processFileInfo(const QFileInfo& info) { - if (info.isDir()) - { - m_model->addDirectory(info.absoluteFilePath()); - } - else - { - m_model->addFile(info.absoluteFilePath()); - m_model->loadPlaylist(info.absoluteFilePath()); - } + m_model->add(info.absoluteFilePath()); } const QString ListWidget::getExtraString(int i) diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index 6fd8728d7..2ad628b9e 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -50,6 +50,7 @@ #include "visualmenu.h" #include "windowsystem.h" #include "viewmenu.h" +#include "actionmanager.h" #include "builtincommandlineoption.h" #define KEY_OFFSET 10000 @@ -69,6 +70,8 @@ MainWindow::MainWindow(const QStringList& args, BuiltinCommandLineOption* option Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint); setWindowTitle("Qmmp"); + new ActionManager(); + //prepare libqmmp and libqmmpui libraries for playing m_player = new MediaPlayer(this); m_core = new SoundCore(this); @@ -196,11 +199,7 @@ void MainWindow::previous() void MainWindow::showState(Qmmp::State state) { - if(m_model) - { - disconnect(m_model, SIGNAL(firstAdded()), this, 0); - m_model = 0; - } + disconnectPl(); switch ((int) state) { case Qmmp::Playing: @@ -254,7 +253,7 @@ void MainWindow::closeEvent (QCloseEvent *) void MainWindow::addDir() { FileDialog::popup(this, FileDialog::AddDirs, &m_lastDir, - m_pl_manager->selectedPlayList(), SLOT(addFileList(const QStringList&)), + m_pl_manager->selectedPlayList(), SLOT(add(const QStringList&)), tr("Choose a directory")); } @@ -265,7 +264,7 @@ void MainWindow::addFile() MetaDataManager::instance()->nameFilters().join (" ") +")"; filters << MetaDataManager::instance()->filters(); FileDialog::popup(this, FileDialog::AddDirsFiles, &m_lastDir, - m_pl_manager->selectedPlayList(), SLOT(addFileList(const QStringList&)), + m_pl_manager->selectedPlayList(), SLOT(add(const QStringList&)), tr("Select one or more files to open"), filters.join(";;")); } @@ -414,17 +413,12 @@ void MainWindow::toggleVisibility() void MainWindow::createActions() { m_mainMenu = new QMenu(this); - m_mainMenu->addAction(QIcon::fromTheme("media-playback-start"), tr("&Play"), - this, SLOT(play()), tr("X")); - m_mainMenu->addAction(QIcon::fromTheme("media-playback-pause"), tr("&Pause"), - m_core, SLOT(pause()), tr("C")); - m_mainMenu->addAction(QIcon::fromTheme("media-playback-stop"), tr("&Stop"), - this ,SLOT(stop()), tr("V")); - m_mainMenu->addAction(QIcon::fromTheme("media-skip-backward"), tr("&Previous"), - this, SLOT(previous()), tr("Z")); - m_mainMenu->addAction(QIcon::fromTheme("media-skip-forward"), tr("&Next"), - this, SLOT(next()), tr("B")); - m_mainMenu->addAction(tr("&Play/Pause"),this, SLOT(playPause()), tr("Space")); + m_mainMenu->addAction(ACTION(ActionManager::PLAY, this, SLOT(play()))); + m_mainMenu->addAction(ACTION(ActionManager::PAUSE, this, SLOT(pause()))); + m_mainMenu->addAction(ACTION(ActionManager::STOP, this, SLOT(stop()))); + m_mainMenu->addAction(ACTION(ActionManager::PREVIOUS, this, SLOT(previous()))); + m_mainMenu->addAction(ACTION(ActionManager::NEXT, this, SLOT(next()))); + m_mainMenu->addAction(ACTION(ActionManager::PLAY_PAUSE, this, SLOT(playPause()))); m_mainMenu->addSeparator(); m_mainMenu->addAction(QIcon::fromTheme("go-up"), tr("&Jump To File"), this, SLOT(jumpToFile()), tr("J")); @@ -557,25 +551,23 @@ void MainWindow::savePlaylist() void MainWindow::setFileList(const QStringList &l, bool clear) { + clear = true; + m_pl_manager->activatePlayList(m_pl_manager->selectedPlayList()); if(!clear) { - m_pl_manager->currentPlayList()->addFileList(l); + m_pl_manager->selectedPlayList()->add(l); return; } - if (m_core->state() == Qmmp::Playing || m_core->state() == Qmmp::Paused) + if (m_core->state() != Qmmp::Stopped) { stop(); qApp->processEvents(); //receive stop signal } - m_pl_manager->activatePlayList(m_pl_manager->selectedPlayList()); - connect(m_pl_manager->selectedPlayList(), SIGNAL(firstAdded()), this, SLOT(play())); - if (m_pl_manager->selectedPlayList()->setFileList(l)) - m_model = m_pl_manager->selectedPlayList(); - else - { - disconnect(m_pl_manager->selectedPlayList(), SIGNAL(firstAdded()), this, SLOT(play())); - addFile(); - } + m_model = m_pl_manager->selectedPlayList(); + m_model->clear(); + connect(m_model, SIGNAL(firstAdded()), SLOT(play())); + connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl())); + m_model->add(l); } void MainWindow::playPause() @@ -636,6 +628,16 @@ void MainWindow::handleCloseRequest() QApplication::closeAllWindows(); } +void MainWindow::disconnectPl() +{ + if(m_model) + { + disconnect(m_model, SIGNAL(firstAdded()), this, SLOT(play())); + disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl())); + m_model = 0; + } +} + void MainWindow::addUrl() { AddUrlDialog::popup(this, m_pl_manager->selectedPlayList()); diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 41258b0ff..f0bbaf707 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -97,6 +97,7 @@ private slots: void forward(); void backward(); void handleCloseRequest(); + void disconnectPl(); private: void readSettings(); diff --git a/src/ui/shortcutitem.cpp b/src/ui/shortcutitem.cpp new file mode 100644 index 000000000..546216fef --- /dev/null +++ b/src/ui/shortcutitem.cpp @@ -0,0 +1,34 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ + +#include +#include "actionmanager.h" +#include "shortcutitem.h" + +ShortcutItem::ShortcutItem(QTreeWidgetItem *parent, int type) : QTreeWidgetItem(parent, QStringList() + << ActionManager::instance()->action(type)->text().remove("&") + << ActionManager::instance()->action(type)->shortcut()) +{ + m_action = ActionManager::instance()->action(type); +} + +ShortcutItem::~ShortcutItem() +{} + diff --git a/src/ui/shortcutitem.h b/src/ui/shortcutitem.h new file mode 100644 index 000000000..886236bf5 --- /dev/null +++ b/src/ui/shortcutitem.h @@ -0,0 +1,44 @@ +/*************************************************************************** + * Copyright (C) 2010 by Ilya Kotov * + * forkotov02@hotmail.ru * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + ***************************************************************************/ +#ifndef SHORTCUTITEM_H +#define SHORTCUTITEM_H + +#include + +class QWidget; +class QAction; + +/** + @author Ilya Kotov +*/ + +class ShortcutItem : public QTreeWidgetItem +{ +public: + + ShortcutItem(QTreeWidgetItem *parent, int type); + ~ShortcutItem(); + +private: + QAction *m_action; + +}; + +#endif //SHORTCUTITEM_H diff --git a/src/ui/translations/qmmp_cs.ts b/src/ui/translations/qmmp_cs.ts index 781e00661..541c5bbef 100644 --- a/src/ui/translations/qmmp_cs.ts +++ b/src/ui/translations/qmmp_cs.ts @@ -89,6 +89,79 @@ :/txt/translators_cs.txt + + ActionManager + + + &Play + Pře&hrát + + + + X + X + + + + &Pause + Pau&za + + + + C + C + + + + &Stop + &Stop + + + + V + V + + + + &Previous + &Předchozí + + + + Z + Z + + + + &Next + &Další + + + + B + B + + + + &Play/Pause + &Přehrát/Pauza + + + + Space + Mezerník + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Popis - + Filename Soubor - + Artist Umělec - - + + Album Album - + Track Stopa - + Disabled Vypnuto - + Transports Protokoly - + Decoders Dekodéry - + Engines Přehrávače - + Title Název - + Track number Číslo stopy - + Two-digit track number Dvoumístné číslo stopy - + Disc number Číslo disku - + Condition Stav - + Composer Skladatel - + File name Název souboru - + File path Cesta k souboru - + Genre Žánr - + Year Rok - + Comment Poznámka @@ -290,7 +363,7 @@ - + Playlist Seznam skladeb @@ -305,342 +378,368 @@ Pokročilé - + Skins Témata - + Fonts Písma - + Player: Přehrávač: - + Playlist: Seznam skladeb: - - + + ??? ??? - + Replay Gain Zisk při přehrávání - + Miscellaneous Různé - - - + + + ... ... - + Use bitmap font if available Použít bitmapové písmo, je-li dostupné - + Use skin cursors Použít kurzory z tématu - + + Shortcuts + + + + Metadata Metadata - + Load metadata from files Číst ze souborů metadata - + Song Display Zobrazení skladby - + Title format: Formát titulku: - + Show song numbers Zobrazit čísla skladeb - + Show playlists Zobrazit seznam skladeb - + Show popup information Zobrazit informace ve vyskakovacím okně - + Customize Přizpůsobit - - + + Preferences Nastavení - - - + + + Information Informace - + Cover Image Retrieve Získat obrázek obalu - + Use separate image files Použít samostatné obrázky - + Include files: Zahrnout soubory: - + Exclude files: Vynechat soubory: - + Recursive search depth: Hloubka rekurzivního hledání: - + + Playback Přehrávání - + Continue playback on startup Po startu pokračovat v přehrávání - + Replay Gain mode: Režim úpravy zisku při přehrávání: - + Preamp: Předzesílení: - - + + dB dB - + Default gain: Výchozí zisk: - + Use peak info to prevent clipping Použít informaci o vrcholu k zabránění ořezu - + Output: Výstup: - + Buffer size: - + ms ms - + 16-bit output 16bitový výstup + + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Původní + Connectivity Síť - + View Zobrazení - + File Dialog Souborový dialog - + Proxy Proxy - + Enable proxy usage Povolit používání proxy - + Proxy host name: Adresa proxy: - + Proxy port: Port proxy: - + Use authentication with proxy Použít autorizaci pro proxy - + Proxy user name: Uživatelské jméno: - + Proxy password: Heslo: - + Archived skin Sbalené téma - + Unarchived skin Rozbalené téma - + Visualization Vizualizace - + Effects Efekty - + General Obecné - + Audio Zvuk - + Use software volume control Používat softwarové ovládání hlasitosti - + Hide on close Skrýt při zavření - + Start hidden Spustit skryté - + Convert underscores to blanks Převést podtržítka na mezery - + Convert %20 to blanks Převést %20 na mezery - + Select Skin Files Vybrat soubory s tématy - + Skin files Soubory s tématy - + Add... Přidat... - + Refresh Obnovit - + Show protocol Zobrazit protokol - + Transparency Průhlednost - + Main window Hlavní okno - - - + + + 0 0 - + Equalizer Ekvalizér @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Výběr adresáře - + Select one or more files to open Vyberte jeden či více souborů k otevření - - &Play - Pře&hrát - - - - X - X - - - - &Pause - Pau&za - - - - C - C - - - - &Stop - &Stop - - - - V - V - - - - &Previous - &Předchozí - - - - Z - Z - - - - &Next - &Další - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File Přeskočit na soubo&r - + J J - + Playlist Seznam skladeb - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Nastavení - + Ctrl+P Ctrl+P - + &About O &aplikaci - + &Exit U&končit - + Ctrl+Q Ctrl+Q - - + + Playlist Files Seznamy skladeb - + Open Playlist Načíst seznam skladeb - + Save Playlist Uložit seznam skladeb - - Space - Mezerník - - - + &About Qt O knihovně &Qt - - &Play/Pause - &Přehrát/Pauza - - - + All Supported Bitstreams Všechny podporované formáty - + &Repeat Track &Opakovat stopu - + &Shuffle Za&míchat - + R O - + Ctrl+R Ctrl+R - + S M - + &Repeat Playlist &Opakovat seznam skladeb - + Tools Nástroje diff --git a/src/ui/translations/qmmp_de.ts b/src/ui/translations/qmmp_de.ts index 8552575b0..c0fa84308 100644 --- a/src/ui/translations/qmmp_de.ts +++ b/src/ui/translations/qmmp_de.ts @@ -89,6 +89,79 @@ :/txt/translators_de.txt + + ActionManager + + + &Play + &Wiedergabe + + + + X + X + + + + &Pause + &Pause + + + + C + C + + + + &Stop + &Stopp + + + + V + V + + + + &Previous + &Vorheriger Titel + + + + Z + Z + + + + &Next + &Nächster Titel + + + + B + B + + + + &Play/Pause + Wieder&gabe/Pause + + + + Space + Leertaste + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Beschreibung - + Filename Dateiname - + Artist Interpret - - + + Album Album - + Track Stück - + Disabled Deaktiviert - + Transports Transporte - + Decoders Dekoder - + Engines - + Title Titel - + Track number Stücknummer - + Two-digit track number Zweistellige Stücknummer - + Disc number CD-Nummer - + Condition Zustand - + Genre Genre - + Composer Komponist - + File name Dateiname - + File path Dateipfad - + Year Jahr - + Comment Kommentar @@ -290,7 +363,7 @@ - + Playlist Wiedergabeliste @@ -305,342 +378,368 @@ Erweitert - + Skins Designs - + Fonts Schriftarten - + Player: Player: - + Playlist: Wiedergabeliste: - - + + ??? ??? - + Replay Gain Replay Gain - + Miscellaneous Verschiedenes - - - + + + ... ... - + Use bitmap font if available Bitmap-Schriftart verwenden, falls verfügbar - + Use skin cursors Design-Mauszeiger verwenden - + + Shortcuts + + + + Metadata Metadaten - + Load metadata from files Metadaten aus Dateien laden - + Song Display Titelanzeige - + Title format: Titelformat: - + Show song numbers Titelnummern anzeigen - + Show playlists Wiedergabelisten anzeigen - + Show popup information Informationen in einem Aufklapp-Fenster anzeigen - + Customize Anpassen - - + + Preferences Konfiguration - - - + + + Information Information - + Cover Image Retrieve Holen von Cover-Bildern - + Use separate image files Separate Bilddateien verwenden - + Include files: Einzubeziehende Dateien: - + Exclude files: Auszuschließende Dateien: - + Recursive search depth: Rekursive Suchtiefe: - + + Playback Wiedergabe - + Continue playback on startup Wiedergabe beim Start fortsetzen - + Replay Gain mode: Replay-Gain-Modus: - + Preamp: Vorverstärkung: - - + + dB dB - + Default gain: - + Use peak info to prevent clipping Peak-Informationen verwenden, um Clipping zu verhindern - + Output: Ausgabe: - + Buffer size: - + ms ms - + 16-bit output 16-Bit-Ausgabe + + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Zurücksetzen + Connectivity Verbindung - + View Ansicht - + File Dialog Datei-Dialog - + Proxy Proxyserver - + Enable proxy usage Proxyserver verwenden - + Proxy host name: Name des Proxyservers: - + Proxy port: Port: - + Use authentication with proxy Authentisierung verwenden - + Proxy user name: Benutzername: - + Proxy password: Passwort: - + Archived skin Archiviertes Design - + Unarchived skin Nicht archiviertes Design - + Visualization Visualisierung - + Effects Effekte - + General Sonstige - + Audio Audio - + Use software volume control Softwaregesteuerte Lautstärkeregelung - + Hide on close Beim Schließen in den Systemabschnitt der Kontrollleiste minimieren - + Start hidden Minimiert starten - + Convert underscores to blanks Unterstriche in Leerzeichen umwandeln - + Convert %20 to blanks %20 in Leerzeichen umwandeln - + Select Skin Files Design-Dateien auswählen - + Skin files Design-Dateien - + Add... Hinzufügen... - + Refresh Aktualisieren - + Show protocol Protokoll anzeigen - + Transparency Transparenz - + Main window Hauptfenster - - - + + + 0 0 - + Equalizer Equalizer @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Verzeichnis wählen - + Select one or more files to open Dateien hinzufügen - - &Play - &Wiedergabe - - - - X - X - - - - &Pause - &Pause - - - - C - C - - - - &Stop - &Stopp - - - - V - V - - - - &Previous - &Vorheriger Titel - - - - Z - Z - - - - &Next - &Nächster Titel - - - - B - B - - - + &Stop After Selected - + Ctrl+S Strg+S - + &Jump To File Springe zu &Titel - + J J - + Playlist Wiedergabeliste - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Einstellungen - + Ctrl+P Strg+P - + &About Ü&ber - + &Exit Be&enden - + Ctrl+Q Strg+Q - - + + Playlist Files Wiedergabelisten - + Open Playlist Wiedergabeliste öffnen - + Save Playlist Wiedergabeliste speichern - - Space - Leertaste - - - + &About Qt Übe&r Qt - - &Play/Pause - Wieder&gabe/Pause - - - + All Supported Bitstreams Alle unterstützten Formate - + &Repeat Track Tite&l wiederholen - + &Shuffle &Zufallswiedergabe - + R R - + Ctrl+R Strg+R - + S S - + &Repeat Playlist W&iedergabeliste wiederholen - + Tools Werkzeuge diff --git a/src/ui/translations/qmmp_es.ts b/src/ui/translations/qmmp_es.ts index 7a6d9550b..53443b7a4 100644 --- a/src/ui/translations/qmmp_es.ts +++ b/src/ui/translations/qmmp_es.ts @@ -89,6 +89,79 @@ :/txt/translators_es.txt + + ActionManager + + + &Play + &Reproducir + + + + X + X + + + + &Pause + &Pausar + + + + C + C + + + + &Stop + &Detener + + + + V + V + + + + &Previous + &Anterior + + + + Z + Z + + + + &Next + &Siguiente + + + + B + B + + + + &Play/Pause + &Reproducir/Pausar + + + + Space + Space + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Descripción - + Filename Nombre del archivo - + Artist Intérprete - - + + Album Album - + Track Pista - + Disabled Deshabilitado - + Transports Transportes - + Decoders Decodificadores - + Engines Motores - + Title Título - + Track number Número de pista - + Two-digit track number Número de pista con dos cifras - + Disc number Número de disco - + Condition Condición - + Genre Género - + Composer Compositor - + File name Nombre del archivo - + File path Ruta del archivo - + Year Año - + Comment Comentario @@ -284,68 +357,68 @@ Configuración de Qmmp - + Skins Pieles - + Fonts Fuentes - + Player: Reproductor: - + Playlist: Lista de reproducción: - - + + ??? ??? - - - + + + ... ... - + Metadata Metainformación - + Load metadata from files Cargar la metainformación de los archivos - + Song Display Mostrar la canción - + Title format: Formato del título: - - + + Preferences Preferencias - - - + + + Information Información @@ -356,7 +429,7 @@ - + Playlist Lista de reproducción @@ -371,17 +444,17 @@ Avanzado - + 16-bit output Salida de 16 bits - + Archived skin Piel archivada - + Unarchived skin Piel no archivada @@ -391,256 +464,282 @@ Conectividad - + Visualization Visualización - + Effects Efectos - + General General - + File Dialog Diálogo de archivos - + Audio Sonido - + Replay Gain Normalización - + Miscellaneous Varios - + Use bitmap font if available Usar fuente bitmap si está disponible - + Use skin cursors Usar pieles en cursor - + Show song numbers Mostrar los números de canción - + Show playlists Mostrar la lista de reproducción - + Show popup information Mostrar información emergente - + Customize Personalizar - + Replay Gain mode: Método de normalización: - + Preamp: Preamp: - - + + dB dB - + Default gain: Normalización predeterminada: - + Use peak info to prevent clipping Procesar picos para evitar cortes - + Output: Salida: - + Buffer size: - + ms ms - + Use software volume control Usar control de volumen por software - + View Ver - + + Shortcuts + + + + Hide on close Esconder al cerrar - + Start hidden Iniciar oculto - + Cover Image Retrieve Obtener las imagenes de carátula - + Use separate image files Usar archivos de imágen separados - + Include files: Incluir archivos: - + Exclude files: Excluir archivos: - + Recursive search depth: Profundidad de la búsqueda recursiva: - + + Playback Reproducción - + Continue playback on startup Continuar la reproducción al iniciar - + Proxy Proxy - + Enable proxy usage Habilitar el uso de proxy - + Proxy host name: Nombre del servidor proxy: - + Proxy port: Puerto del proxy: - + Use authentication with proxy Usar autentificación con el proxy - + Proxy user name: Usuario del proxy: - + Proxy password: Contraseña del proxy: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Reiniciar + + + Convert underscores to blanks Convertir los guiones bajos en espacios - + Convert %20 to blanks Convertir los %20 en espacios - + Select Skin Files Seleccionar archivos de pieles - + Skin files Archivos de pieles - + Add... Añadir... - + Refresh Actualizar - + Show protocol Motrar protocolo - + Transparency Transparencia - + Main window Ventana principal - - - + + + 0 0 - + Equalizer Ecualizador @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Seleccione un directorio - + Select one or more files to open Seleccione uno o más archivos para abrir - - &Play - &Reproducir - - - - X - X - - - - &Pause - &Pausar - - - - C - C - - - - &Stop - &Detener - - - - V - V - - - - &Previous - &Anterior - - - - Z - Z - - - - &Next - &Siguiente - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File &Saltar a archivo - + J J - + Playlist Lista de reproducción - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Configuración - + Ctrl+P Ctrl+P - + &Exit &Salir - + Ctrl+Q Ctrl+Q - + Open Playlist Abrir la lista de reproducción - + Save Playlist Guardar la lista de reproducción - + &About &Acerca de - - + + Playlist Files Archivos a reproducir - - Space - Space - - - + &About Qt &Acerca de Qt - - &Play/Pause - &Reproducir/Pausar - - - + All Supported Bitstreams Todos los flujos soportados - + &Repeat Track &Repetir pista - + &Shuffle &Revolver - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist &Repetir la lista - + Tools Herramientas diff --git a/src/ui/translations/qmmp_hu.ts b/src/ui/translations/qmmp_hu.ts index d38595a77..2c5378b40 100644 --- a/src/ui/translations/qmmp_hu.ts +++ b/src/ui/translations/qmmp_hu.ts @@ -89,6 +89,79 @@ Licensz Egyezmény + + ActionManager + + + &Play + &Lejátszás + + + + X + X + + + + &Pause + &Szünet + + + + C + C + + + + &Stop + &Megállítás + + + + V + V + + + + &Previous + &Előző + + + + Z + Z + + + + &Next + &Következő + + + + B + B + + + + &Play/Pause + &Lejátszás/Szünet + + + + Space + Szóköz + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,123 +251,123 @@ ConfigDialog - + Archived skin Tömörített skin - + Unarchived skin Tömörítettlen skin - + Description Leírás - + Filename Fájlnév - + Artist Előadó - - + + Album Album - + Title Cím - + Genre Műfaj - + Year Év - + Comment Megjegyzés - + Track Szám - + Disabled Kikapcsolva - + Transports Transzportálás - + Decoders Dekóderek - + Engines Motorok - + Track number Zeneszám - + Two-digit track number Két jegyű zeneszám - + Composer Zeneszerző - + Disc number Lemezszám - + File name Fájl neve - + File path File útvonala - + Condition Feltétel - + Select Skin Files Skin fájl kiválasztása - + Skin files Skin fájlok @@ -310,7 +383,7 @@ - + Playlist Lejátszási lista @@ -330,317 +403,343 @@ Összekapcsolhatóság - + Skins Skinek - + Add... Hozzáad... - + Refresh Frissít - + Miscellaneous Vegyes - + Fonts Betűtípus - + Player: Lejátszó: - - + + ??? ??? - - - + + + ... ... - + Playlist: Lejátszási lista: - + Use bitmap font if available Bittérképes betűtípus használata, ha elérhető - + Use skin cursors Skin egértéma használata - + + Shortcuts + + + + Metadata Metaadatok - + Load metadata from files Metaadatok betöltése fájlból - + Song Display Szám kijelző - + Title format: Cím formátum: - + Convert underscores to blanks Lepontozottak átalakítása üressé - + Convert %20 to blanks Átalakítás %20 üressé - + Show protocol Protokol mutatása - + Show song numbers Zene sorszámának mutatása - + Show playlists Lejátszási lista mutatása - + Show popup information Felugró információk mutatása - + Customize Testreszab - - + + Preferences Tulajdonságok - - - + + + Information Információ - + + Playback Lejátszás - + Continue playback on startup Lejátszás folytatása indításkor - + Buffer size: - + ms ms - + 16-bit output 16 bites kimenet - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Visszaállít + + + Visualization Vizualizáció - + Effects Effektek - + General Általános - + Audio Audió - + Replay Gain Replay Gain - + Replay Gain mode: Replay Gain mód: - + Preamp: Preamp: - - + + dB dB - + Default gain: Alapértelmezett gain: - + Use peak info to prevent clipping Csúcs információ használata a klippelés megelőzéséhez - + Output: Kimenet: - + Use software volume control Szoftveres hangerőszabályzó használata - + Hide on close Elrejtés bezáráskor - + Start hidden Rejtve induljon - + File Dialog Fájl ablak - + Transparency Átlátszóság - + View Megnéz - + Main window Fő ablak - - - + + + 0 0 - + Equalizer Hangszínszabályozó - + Cover Image Retrieve Borító beszerzése - + Use separate image files Különböző képfájlok használata - + Include files: Tartalmazott fájlok: - + Exclude files: Kihagyott fájlok: - + Recursive search depth: Rekúrzív keresési mélység: - + Proxy Proxy - + Enable proxy usage Proxy használatának engedélyezése - + Proxy host name: Proxy host name: - + Proxy port: Proxy port: - + Use authentication with proxy Hitelesítés hasznáalta proxy-val - + Proxy user name: Proxy felhasználónév: - + Proxy password: Proxy jelszó: @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Válassz egy könyvtárat - + All Supported Bitstreams Minden támogatott bitráta - + Select one or more files to open Válassz egy vagy több fájlat megnyitásra - - &Play - &Lejátszás - - - - X - X - - - - &Pause - &Szünet - - - - C - C - - - - &Stop - &Megállítás - - - - V - V - - - - &Previous - &Előző - - - - Z - Z - - - - &Next - &Következő - - - - B - B - - - - &Play/Pause - &Lejátszás/Szünet - - - - Space - Szóköz - - - + Playlist Lejátszási lista - + &Repeat Playlist Lista &ismétlése - + &Repeat Track Számok i&smétlése - + &Shuffle &Véletlenszerű - + &Stop After Selected - + R - + Ctrl+R Crtl+R - + Ctrl+S - + S S - + &Jump To File &Ugrás fájlra - + J J - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + Tools Eszközök - + &Settings &Beállítások - + Ctrl+P Ctrl+P - + &About &Névjegy - + &About Qt N&évjegy: Qt - + &Exit &Kilépés - + Ctrl+Q Ctrl+Q - - + + Playlist Files Lejátszási lista fájl - + Open Playlist Lista megnyitása - + Save Playlist Lista mentése diff --git a/src/ui/translations/qmmp_it.ts b/src/ui/translations/qmmp_it.ts index e7bf35558..d89cae971 100644 --- a/src/ui/translations/qmmp_it.ts +++ b/src/ui/translations/qmmp_it.ts @@ -89,6 +89,79 @@ :/txt/translators_it.txt + + ActionManager + + + &Play + &Esegui + + + + X + X + + + + &Pause + &Pausa + + + + C + C + + + + &Stop + &Arresta + + + + V + V + + + + &Previous + &Precedente + + + + Z + Z + + + + &Next + &Successivo + + + + B + B + + + + &Play/Pause + &Esegui / Pausa + + + + Space + Spazio + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Descrizione - + Filename File - + Artist Interprete - - + + Album Album - + Track Traccia - + Disabled Disabilitato - + Transports Protocolli di trasporto - + Decoders Decodificatori - + Engines Meccanismi - + Title Titolo - + Track number Traccia n° - + Two-digit track number Traccia n° a due cifre - + Disc number Disco n° - + Condition Condizione - + Genre Genere - + Composer Compositore - + File name Nome file - + File path Percorso file - + Year Anno - + Comment Commento @@ -284,68 +357,68 @@ Configurazione di Qmmp - + Skins Temi - + Fonts Caratteri - + Player: Player: - + Playlist: Lista brani : - - + + ??? ??? - - - + + + ... ... - + Metadata Metadati - + Load metadata from files Carica i metadati dai brani - + Song Display Mostra il brano - + Title format: Formato del titolo : - - + + Preferences Impostazioni preferite - - - + + + Information Informazioni @@ -356,7 +429,7 @@ - + Playlist Lista dei brani @@ -371,17 +444,17 @@ Avanzato - + 16-bit output uscita a 16 bit - + Archived skin Tema archiviato - + Unarchived skin Tema non archiviato @@ -391,256 +464,282 @@ Connettività - + Visualization Visualizzazione - + Effects Effetti - + General Generale - + File Dialog Menu brani - + Audio Audio - + Replay Gain Normalizzazione - + Miscellaneous Varie - + Use bitmap font if available Usa carattere bitmap se disponibile - + Use skin cursors Usa cursore skin - + Show song numbers Mostra numero brani - + Show playlists Mostra lista esecuzione brani - + Show popup information Mostra informazioni popup - + Customize Personalizza - + Replay Gain mode: Metodo di normalizzazione - + Preamp: Preamp: - - + + dB dB - + Default gain: Normalizzazione predefinita - + Use peak info to prevent clipping Utilizza informazioni di picco per evitare tagli - + Output: Uscita: - + Buffer size: - + ms ms - + Use software volume control Utilizza il controllo volume del programma - + View - + + Shortcuts + + + + Hide on close Nascondi alla chiusura - + Start hidden Avvia nascosto - + Cover Image Retrieve Trova immagine copertina - + Use separate image files Usa immagini separate - + Include files: Includi i file: - + Exclude files: Escludi i file: - + Recursive search depth: Profondità ricerca ricorsiva: - + + Playback Riproduzione - + Continue playback on startup Continua la riproduzione all'avvio - + Proxy Proxy - + Enable proxy usage Attiva il proxy - + Proxy host name: Nome del server : - + Proxy port: Porta del server : - + Use authentication with proxy Usa autenticazione con il proxy - + Proxy user name: Utente: - + Proxy password: Password : - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Azzera + + + Convert underscores to blanks Converti il carattere « _ » in spazi - + Convert %20 to blanks Converti il carattere « %20 » in spazi - + Select Skin Files Seleziona aspetto - + Skin files Aspetto - + Add... Aggiungi... - + Refresh Aggiorna - + Show protocol Motra protocollo - + Transparency Transparenza - + Main window Finestra principale - - - + + + 0 0 - + Equalizer Equalizzatore @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Scegliere una cartella - + Select one or more files to open Seleziona uno o più brani da aprire - - &Play - &Esegui - - - - X - X - - - - &Pause - &Pausa - - - - C - C - - - - &Stop - &Arresta - - - - V - V - - - - &Previous - &Precedente - - - - Z - Z - - - - &Next - &Successivo - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File &Vai al brano - + J J - + Playlist - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Configurazione - + Ctrl+P Ctrl+P - + &Exit &Esci - + Ctrl+Q Ctrl+Q - + Open Playlist Apri lista di brani - + Save Playlist Salva lista di brani - + &About &Informazioni - - + + Playlist Files Brani della lista - - Space - Spazio - - - + &About Qt &Informazioni su Qt - - &Play/Pause - &Esegui / Pausa - - - + All Supported Bitstreams Elenco di tutti i tipi di flusso accettati - + &Repeat Track &Ripeti brano - + &Shuffle &Ordine casuale - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist &Ripeti lista brani - + Tools Strumenti diff --git a/src/ui/translations/qmmp_ja.ts b/src/ui/translations/qmmp_ja.ts index 46de44f0f..6a51381ba 100644 --- a/src/ui/translations/qmmp_ja.ts +++ b/src/ui/translations/qmmp_ja.ts @@ -89,6 +89,79 @@ 一般プラグイン: + + ActionManager + + + &Play + 再生(&Y) + + + + X + X + + + + &Pause + 一時停止(&P) + + + + C + C + + + + &Stop + 終止(&S) + + + + V + V + + + + &Previous + 前の曲(&R) + + + + Z + Z + + + + &Next + 次の曲(&N) + + + + B + B + + + + &Play/Pause + 再生/停止(&A) + + + + Space + Space + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -189,7 +262,7 @@ - + Playlist プレイリスト @@ -210,437 +283,463 @@ - + Audio 音響 - + + Shortcuts + + + + Skins スキン - + Add... 追加... - + Refresh 更新 - + Miscellaneous 各種設定 - + View 観容 - + Hide on close 「閉じる」で隠す - + Start hidden 開始時に隠す - + Use skin cursors スキンカーソルを使用 - + Fonts 書体 - + Player: プレイヤ: - - + + ??? ??? - - - + + + ... ... - + Playlist: プレイリスト: - + Use bitmap font if available あればビットマップフォントを使用 - + Transparency 透過効果 - + Main window メインウィンドウ - - - + + + 0 0 - + Equalizer イコライザ - + Metadata メタデータ - + Load metadata from files ファイルからメタデータを読み込む - + Song Display 演目表示 - + Title format: タイトルの表示形式: - + Convert underscores to blanks 下線記号_を空白文字で表示 - + Convert %20 to blanks %20を空白文字で表示 - + Show protocol プロトコルを表示 - + Show song numbers 曲番号を表示 - + Show playlists プレイリストを表示 - + Show popup information 情報吹き出しを表示 - + Customize カスタマイズ - - + + Preferences プラグイン調整 - - - + + + Information 情報 - + Description プラグイン分類 - + Filename ファイル名 - + File Dialog ファイルダイアログ - + Cover Image Retrieve アルバム表紙画像の取得 - + Use separate image files 分割された画像ファイルを利用 - + Include files: 対象ファイル形式: - + Exclude files: 除外ファイル形式: - + Recursive search depth: 再帰検索の深度: - + + Playback 再生 - + Continue playback on startup 前回終了時の曲から継続して再生 - + Proxy 代理 - + Enable proxy usage 代理を利用する - + Proxy host name: 代理ホスト名: - + Proxy port: 代理ポート: - + Use authentication with proxy 代理経由の認証を利用 - + Proxy user name: 代理者ユーザ名: - + Proxy password: 代理者パスワード: - + Replay Gain リプレイゲイン - + Replay Gain mode: リプレイゲインモード: - + Preamp: プリアンプ: - - + + dB dB - + Default gain: デフォルトゲイン: - + Use peak info to prevent clipping クリッピング現象を抑えるためピーク情報を使う - + Output: 出力: - + Buffer size: バッファサイズ: - + ms ミリ秒 - + Use software volume control ソフトウェアによる音量制御を利用 - + 16-bit output 16ビット出力 - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + リセット + + + Track トラック - - + + Album アルバム - + Disabled 無効 - + Archived skin 書庫化スキン - + Unarchived skin 非書庫化スキン - + Transports 転送 - + Decoders デコーダ - + Engines エンジン - + Effects 音響効果 - + Visualization 視覚効果 - + General 一般 - + Artist アーティスト - + Title タイトル - + Track number トラック番号 - + Two-digit track number トラック番号 数字2桁 - + Genre ジャンル - + Comment コメント - + Composer 作曲者 - + Disc number ディスク番号 - + File name ファイル名 - + File path ファイルパス - + Year - + Condition 定番 - + Select Skin Files スキンファイルを選択 - + Skin files スキンファイル @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory ディレクトリを選択 - + All Supported Bitstreams サポート対象のすべてのデジタル録音物 - + Select one or more files to open 開きたいファイルを選ぶ (複数可) - - &Play - 再生(&Y) - - - - X - X - - - - &Pause - 一時停止(&P) - - - - C - C - - - - &Stop - 終止(&S) - - - - V - V - - - - &Previous - 前の曲(&R) - - - - Z - Z - - - - &Next - 次の曲(&N) - - - - B - B - - - - &Play/Pause - 再生/停止(&A) - - - - Space - Space - - - + Playlist プレイリスト - + &Repeat Playlist プレイリストを繰り返す(&L) - + &Repeat Track トラックを繰り返す(&T) - + &Shuffle シャッフル(&F) - + &Stop After Selected - + R R - + Ctrl+R Ctrl+R - + Ctrl+S Ctrl+S - + S S - + &Jump To File ファイルを指定して即刻再生(&J) - + J J - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + Tools ツール - + &Settings 設定(&S) - + Ctrl+P Ctrl+P - + &About QMMPについて(&A) - + &About Qt Qtについて(&Q) - + &Exit 終了(&X) - + Ctrl+Q Ctrl+Q - - + + Playlist Files プレイリストファイル - + Open Playlist プレイリストを開く - + Save Playlist プレイリストを保存 diff --git a/src/ui/translations/qmmp_lt.ts b/src/ui/translations/qmmp_lt.ts index b7030e24f..c0292585d 100644 --- a/src/ui/translations/qmmp_lt.ts +++ b/src/ui/translations/qmmp_lt.ts @@ -89,6 +89,79 @@ :/txt/translators_lt.txt + + ActionManager + + + &Play + &Groti + + + + X + + + + + &Pause + &Pristabdyti + + + + C + + + + + &Stop + &Sustabdyti + + + + V + + + + + &Previous + &Ankstesnis + + + + Z + + + + + &Next + &Sekantis + + + + B + + + + + &Play/Pause + &Groti/Pristabdyti + + + + Space + Tarpas + + + + &Jump to File + + + + + J + + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Aprašymas - + Filename Bylos pavadinimas - + Artist Atlikėjas - - + + Album Albumas - + Track Takelis - + Disabled Išjungta - + Transports Transportas - + Decoders Dekoderiai - + Engines Varikliai - + Title Pavadinimas - + Track number Takelio numeris - + Two-digit track number Dviejų skaičių takelio numeris - + Disc number Disko numeris - + Condition Būklė - + Composer Autorius - + File name Bylos pavadinimas - + File path Bylos kelias - + Genre Žanras - + Year Metai - + Comment Komentaras @@ -284,68 +357,68 @@ Qmmp nustatymai - + Skins Temos - + Fonts Šriftai - + Player: Grotuvas: - + Playlist: Gojaraštis: - - + + ??? ??? - - - + + + ... ... - + Metadata Meta duomenys - + Load metadata from files Įkelti metaduomenis iš bylų - + Song Display Dainų sąrašas - + Title format: Pavadinimo formatas: - - + + Preferences Nustatymai - - - + + + Information Informacija @@ -356,7 +429,7 @@ - + Playlist Grojaraštį @@ -371,17 +444,17 @@ Papildomi - + 16-bit output 16 bitų išvestis - + Archived skin Suspausta tema - + Unarchived skin Išskleista tema @@ -391,257 +464,283 @@ Tinklas - + Visualization Vizualizacija - + Effects Efektai - + General Bendri - + File Dialog Pasirinkimo langas - + Audio Audio - + Replay Gain Neįsivaizduoju kaip verst Replay Gain - + Miscellaneous Kiti - + Use bitmap font if available Naudoti bitmap šriftą, jei įmanoma - + Use skin cursors Naudoti temos kursorių - + Show song numbers Rodyti takelių numerius - + Show playlists Rodyti grojaraščius - + Show popup information Rodyti iššokančią informaciją - + Customize Nustatyti - + Replay Gain mode: Replay Gain metodas: - + Preamp: Išankstinis stiprinimas: - - + + dB dB - + Default gain: Stiprinimas pagal nutylėjima: - + Use peak info to prevent clipping Naudoti pikų informaciją trūkinėjimo išvengimui - + Output: Išvestis - + Buffer size: Buferio dydis: - + ms ms - + Use software volume control Naudoti programinį garso valdymą - + View Rodyti - + + Shortcuts + + + + Hide on close Paslėpti išjungus - + Start hidden Įjungti paslėptą - + Cover Image Retrieve Parsiųsti cd viršelį - + Use separate image files Naudoti atskiras paveiksliukų bylas - + Include files: Įtraukti bylas - + Exclude files: Išskirti bylas - + Recursive search depth: Rekursinės paieškos gylis - + + Playback Grojimas - + Continue playback on startup Tęsti grojimą įjungus - + Proxy Proxy - + Enable proxy usage Įjungti proxy palaikymą - + Proxy host name: Proxy serveris: - + Proxy port: Proxy portas: - + Use authentication with proxy Naudoti proxy autentifikavimą - + Proxy user name: Proxy vartotojo vardas: - + Proxy password: Proxy slaptažodis: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Ištrinti + + + Convert underscores to blanks Paversti brūkšnius į tarpus - + Convert %20 to blanks Paversti %20 į tarpus - + Select Skin Files Pasirinkti temų bylas - + Skin files Temų bylos - + Add... Pridėti... - + Refresh Atnaujinti - + Show protocol Rodyti bylos galūnę - + Transparency Permatomumas - + Main window Pagrindinis langas - - - + + + 0 - + Equalizer Glodintuvas @@ -950,203 +1049,143 @@ MainWindow - + Choose a directory Pasirinkite aplanką - + Select one or more files to open Pasirinkite vieną ar kelias bylas atvėrimui - - &Play - &Groti - - - - X - - - - - &Pause - &Pristabdyti - - - - C - - - - - &Stop - &Sustabdyti - - - - V - - - - - &Previous - &Ankstesnis - - - - Z - - - - - &Next - &Sekantis - - - - B - - - - + &Stop After Selected &Stabdyti po pasirinkto - + Ctrl+S - + &Jump To File &Pereiti prie bylos - + J - + Playlist Grojaraštis - + &No Playlist Advance - + &Clear Queue &Išvalyti eilę - + Ctrl+N - + Alt+Q - + &Settings &Nustatymai - + Ctrl+P - + &Exit &Išeiti - + Ctrl+Q - + Open Playlist Atverti grojaraštį - + Save Playlist Išsaugoti grojaraštį - + &About &Apie - - + + Playlist Files Grojaraščio bylos - - Space - Tarpas - - - + &About Qt &Apie Qt - - &Play/Pause - &Groti/Pristabdyti - - - + All Supported Bitstreams Palaikomi bylų tipai - + &Repeat Track &Kartoti takelį - + &Shuffle &Atsitiktine tvarka - + R - + Ctrl+R - + S - + &Repeat Playlist &Kartoti grojaraštį - + Tools Įrankiai diff --git a/src/ui/translations/qmmp_nl.ts b/src/ui/translations/qmmp_nl.ts index c6b930d44..87125524a 100644 --- a/src/ui/translations/qmmp_nl.ts +++ b/src/ui/translations/qmmp_nl.ts @@ -89,6 +89,79 @@ :/txt/translators_nl.txt + + ActionManager + + + &Play + &Afspelen + + + + X + X + + + + &Pause + &Pauze + + + + C + C + + + + &Stop + &Stop + + + + V + V + + + + &Previous + &Vorige + + + + Z + Z + + + + &Next + &Volgende + + + + B + B + + + + &Play/Pause + &Afspelen/Pauze + + + + Space + Spatie + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Popis - + Filename Bestandsnaam - + Artist Artiest - - + + Album Album - + Track Nummer - + Disabled Uitgeschakeld - + Transports Protocols - + Decoders Decoders - + Engines Engines - + Title Naam - + Track number Liednummer - + Two-digit track number Twee-getal liednummer - + Disc number CD nummer - + Condition Staat - + Composer Componist - + File name Bestandsnaam - + File path Pad - + Genre Genre - + Year Jaar - + Comment Commentaar @@ -290,7 +363,7 @@ - + Playlist Afspeellijst @@ -305,342 +378,368 @@ Geavanceerd - + Skins Thema's - + Fonts Lettertypen - + Player: Speler: - + Playlist: Afspeellijst: - - + + ??? ??? - + Replay Gain Replay Gain - + Miscellaneous Overige - - - + + + ... ... - + Use bitmap font if available Gebruik bitmap lettertype indien aanwezig - + Use skin cursors Gebruik thema cursor - + + Shortcuts + + + + Metadata Metadata - + Load metadata from files Laad metadata van bestanden - + Song Display Nummer Weergave - + Title format: Titel formaat: - + Show song numbers Toon liednummers - + Show playlists Toon afspeellijst - + Show popup information Toon popup informatie - + Customize Aanpassen - - + + Preferences Voorkeuren - - - + + + Information Informatie - + Cover Image Retrieve Lees Hoes Af - + Use separate image files Gebruik aparte afbeeldingsbestanden - + Include files: Inclusief de bestanden: - + Exclude files: Exclusief de bestanden: - + Recursive search depth: Recursieve zoekdiepte: - + + Playback Afspelen - + Continue playback on startup Verdergaan met afspelen bij opstarten - + Replay Gain mode: Replay Gain stand: - + Preamp: Voorversterking: - - + + dB dB - + Default gain: Standaard verhoging: - + Use peak info to prevent clipping Gebruik piek info om stotteren te voorkomen - + Output: Uitvoer: - + Buffer size: - + ms ms - + 16-bit output 16bit uitvoer + + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Terugzetten + Connectivity Connectiviteit - + View Weergave - + File Dialog Bestandsdialoog - + Proxy Proxy - + Enable proxy usage Gebruik proxy - + Proxy host name: Proxy host naam: - + Proxy port: Proxy poort: - + Use authentication with proxy Gebruik authenticatie bij proxy - + Proxy user name: Proxy gebruikersnaam: - + Proxy password: Proxy wachtwoord: - + Archived skin Gearchiveerd thema - + Unarchived skin Niet gearchiveerd thema - + Visualization Visualisatie - + Effects Effecten - + General Algemeen - + Audio Audio - + Use software volume control Gebruik software volume - + Hide on close Verberg bij sluit - + Start hidden Start verborgen - + Convert underscores to blanks Zet lage strepen om in spaties - + Convert %20 to blanks Zet %20 om in spaties - + Select Skin Files Selecteer themabestanden - + Skin files Thema bestanden - + Add... Toevoegen... - + Refresh Herlaad - + Show protocol Laad protocol - + Transparency Transparantie - + Main window Hoofdscherm - - - + + + 0 0 - + Equalizer Equalizer @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Kies een map - + Select one or more files to open Kies een of meer bestanden om te openen - - &Play - &Afspelen - - - - X - X - - - - &Pause - &Pauze - - - - C - C - - - - &Stop - &Stop - - - - V - V - - - - &Previous - &Vorige - - - - Z - Z - - - - &Next - &Volgende - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File &Spring Naar Bestand - + J J - + Playlist Afspeellijst - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Instellingen - + Ctrl+P Ctrl+P - + &About &Over - + &Exit &Sluit - + Ctrl+Q Ctrl+Q - - + + Playlist Files Afspeellijst Bestanden - + Open Playlist Open Afspeellijst - + Save Playlist Bewaar Afspeellijst - - Space - Spatie - - - + &About Qt &Over Qt - - &Play/Pause - &Afspelen/Pauze - - - + All Supported Bitstreams Alle Ondersteunde Bitstromen - + &Repeat Track &Herhaal Nummer - + &Shuffle &Willekeurig - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist &Herhaal Afspeellijst - + Tools Gereedschappen diff --git a/src/ui/translations/qmmp_pl_PL.ts b/src/ui/translations/qmmp_pl_PL.ts index 43bbc6670..7edb5fb0f 100644 --- a/src/ui/translations/qmmp_pl_PL.ts +++ b/src/ui/translations/qmmp_pl_PL.ts @@ -89,6 +89,79 @@ + + ActionManager + + + &Play + &Odtwarzaj + + + + X + X + + + + &Pause + &Wstrzymaj + + + + C + C + + + + &Stop + &Zatrzymaj + + + + V + V + + + + &Previous + &Poprzedni + + + + Z + Z + + + + &Next + &Następny + + + + B + B + + + + &Play/Pause + &Odtwarzaj/Wstrzymaj + + + + Space + + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Opis - + Filename Nazwa pliku - + Artist Artysta - - + + Album Album - + Track Utwór - + Disabled Wyłączone - + Transports Transporty - + Decoders Dekodery - + Engines Silniki - + Title Tytuł - + Track number Numer utworu - + Two-digit track number Dwuznakowy numer utworu - + Disc number Numer albumu - + Condition Warunek - + Genre Gatunek - + Composer Kompozytor - + File name Nazwa pliku - + File path Lokalizacja - + Year Rok - + Comment Komentarz @@ -284,68 +357,68 @@ Ustawienia Qmmp - + Skins Skóry - + Fonts Czcionki - + Player: Odtwarzacz: - + Playlist: Lista odtwarzania: - - + + ??? ??? - - - + + + ... ... - + Metadata Metadane - + Load metadata from files Załaduj metadane z pliku - + Song Display Wyświetlanie utworu - + Title format: Format tytułu: - - + + Preferences Ustawienia - - - + + + Information Informacje @@ -356,7 +429,7 @@ - + Playlist Lista odtwarzania @@ -371,17 +444,17 @@ Zaawansowane - + 16-bit output 16-bitowe odtwarzanie - + Archived skin Skompresowana skórka - + Unarchived skin Niekompresowana skórka @@ -391,256 +464,282 @@ Sieć - + Visualization Wizualizacje - + Effects Efekty - + General Ogólne - + File Dialog Okno dialogowe - + Audio Dźwięk - + Replay Gain - + Miscellaneous Zaawansowane - + Use bitmap font if available Użyj czcionki bitmapowej jeśli jest dostępna - + Use skin cursors Użyj kursorów z motywu - + Show song numbers Wyświetl numery utworów na liście odtwarzania - + Show playlists Pokaż listy odtwarzania - + Show popup information Pokaż informację popup - + Customize Dostosuj - + Replay Gain mode: Tryb Replay Gain: - + Preamp: - - + + dB - + Default gain: Domyślne wzmocnienie: - + Use peak info to prevent clipping Użyj informacji peak by zapobiec "klipnięciom" - + Output: Wyjście: - + Buffer size: Rozmiar bufora: - + ms ms - + Use software volume control Użyj programowej regulacji głośności - + View Wygląd - + + Shortcuts + + + + Hide on close Zminimalizuj przy zamykaniu - + Start hidden Uruchom zminimalizowany - + Cover Image Retrieve Pobieranie okładek - + Use separate image files Użyj oddzielnych obrazków - + Include files: Użyj plików: - + Exclude files: Wyłącz pliki: - + Recursive search depth: Głębokość rekursywnego przeszukiwania: - + + Playback Odtwarzanie - + Continue playback on startup Wznów odtwarzanie po uruchomieniu programu - + Proxy Proxy - + Enable proxy usage Włącz proxy - + Proxy host name: Nazwa hosta proxy: - + Proxy port: Port proxy: - + Use authentication with proxy Użyj autoryzacji z proxy - + Proxy user name: Nazwa użytkownika: - + Proxy password: Hasło: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Przywróć + + + Convert underscores to blanks Konwertuj podkreślenia na spacje - + Convert %20 to blanks Konwertuj sekwencje %20 na spacje - + Select Skin Files Wybierz skórę - + Skin files Pliki skór - + Add... Dodaj... - + Refresh Odśwież - + Show protocol Pokaż protokół - + Transparency Przezroczystość - + Main window Okno główne - - - + + + 0 0 - + Equalizer Korektor @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Wybierz katalog - + Select one or more files to open Wybierz jeden lub więcej plików do otwarcia - - &Play - &Odtwarzaj - - - - X - X - - - - &Pause - &Wstrzymaj - - - - C - C - - - - &Stop - &Zatrzymaj - - - - V - V - - - - &Previous - &Poprzedni - - - - Z - Z - - - - &Next - &Następny - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File &Skocz do pliku - + J J - + Playlist Lista odtwarzania - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Ustawienia - + Ctrl+P Ctrl+P - + &Exit &Wyjście - + Ctrl+Q Ctrl+Q - + Open Playlist Otwórz listę odtwarzania - + Save Playlist Zapisz listę odtwarzania - + &About &O programie - - + + Playlist Files Pliki listy odtwarzania - - Space - - - - + &About Qt &O Qt - - &Play/Pause - &Odtwarzaj/Wstrzymaj - - - + All Supported Bitstreams Wszystkie wspierane formaty - + &Repeat Track &Powtórz utwór - + &Shuffle &Losowo - + R - + Ctrl+R - + S - + &Repeat Playlist Powtó&rz listę odtwarzania - + Tools Narzędzia diff --git a/src/ui/translations/qmmp_pt_BR.ts b/src/ui/translations/qmmp_pt_BR.ts index 14455bb89..465526ce3 100644 --- a/src/ui/translations/qmmp_pt_BR.ts +++ b/src/ui/translations/qmmp_pt_BR.ts @@ -89,6 +89,79 @@ + + ActionManager + + + &Play + Tocar + + + + X + + + + + &Pause + Pausar + + + + C + + + + + &Stop + Parar + + + + V + + + + + &Previous + Anterior + + + + Z + + + + + &Next + Próximo + + + + B + + + + + &Play/Pause + + + + + Space + + + + + &Jump to File + + + + + J + + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Descrição - + Filename Nome do Arquivo - + Artist Artista - - + + Album Álbum - + Track - + Disabled - + Transports - + Decoders - + Engines - + Title Título - + Track number - + Two-digit track number - + Disc number - + Condition - + Genre Gênero - + Composer - + File name - + File path - + Year Ano - + Comment Comentário @@ -284,68 +357,68 @@ Configurações - + Skins Temas - + Fonts Fontes - + Player: Player - + Playlist: Lista de músicas: - - + + ??? ??? - - - + + + ... ... - + Metadata MetaData - + Load metadata from files Carregar arquivo MetaData - + Song Display Mostrar música - + Title format: Tipo de Formato: - - + + Preferences Preferências - - - + + + Information Informações @@ -356,7 +429,7 @@ - + Playlist Lista de músicas @@ -371,17 +444,17 @@ Avançado - + 16-bit output - + Archived skin - + Unarchived skin @@ -391,256 +464,282 @@ - + Visualization - + Effects - + General - + File Dialog - + Audio - + Replay Gain - + Miscellaneous - + Use bitmap font if available - + Use skin cursors - + Show song numbers - + Show playlists - + Show popup information - + Customize - + Replay Gain mode: - + Preamp: - - + + dB - + Default gain: - + Use peak info to prevent clipping - + Output: - + Buffer size: - + ms - + Use software volume control - + View - + + Shortcuts + + + + Hide on close - + Start hidden - + Cover Image Retrieve - + Use separate image files - + Include files: - + Exclude files: - + Recursive search depth: - + + Playback - + Continue playback on startup - + Proxy - + Enable proxy usage - + Proxy host name: - + Proxy port: - + Use authentication with proxy - + Proxy user name: - + Proxy password: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + + + + Convert underscores to blanks - + Convert %20 to blanks - + Select Skin Files - + Skin files - + Add... - + Refresh Recarregar - + Show protocol - + Transparency - + Main window - - - + + + 0 - + Equalizer @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Escolher o diretorio - + Select one or more files to open Selecionar um ou mais arquivos - - &Play - Tocar - - - - X - - - - - &Pause - Pausar - - - - C - - - - - &Stop - Parar - - - - V - - - - - &Previous - Anterior - - - - Z - - - - - &Next - Próximo - - - - B - - - - + &Stop After Selected - + Ctrl+S - + &Jump To File Pular para arquivo - + J - + Playlist Lista de músicas - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings Configurações - + Ctrl+P - + &Exit Sair - + Ctrl+Q - + Open Playlist Abrir Playlist - + Save Playlist Salvar Playlist - + &About &Sobre - - + + Playlist Files ФArquivos de lista de músicas - - Space - - - - + &About Qt - - &Play/Pause - - - - + All Supported Bitstreams - + &Repeat Track - + &Shuffle - + R - + Ctrl+R - + S - + &Repeat Playlist - + Tools diff --git a/src/ui/translations/qmmp_ru.ts b/src/ui/translations/qmmp_ru.ts index 092449c5f..1b877fd16 100644 --- a/src/ui/translations/qmmp_ru.ts +++ b/src/ui/translations/qmmp_ru.ts @@ -89,6 +89,79 @@ :/txt/translators_ru.txt + + ActionManager + + + &Play + &Воспроизвести + + + + X + + + + + &Pause + &Приостановить + + + + C + + + + + &Stop + &Стоп + + + + V + + + + + &Previous + &Предыдущий фрагмент + + + + Z + + + + + &Next + &Следующий фрагмент + + + + B + + + + + &Play/Pause + &Воспр/приост + + + + Space + + + + + &Jump to File + + + + + J + + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Описание - + Filename Имя файла - + Artist Исполнитель - - + + Album Альбом - + Track Дорожка - + Disabled Отключено - + Transports Транспорты - + Decoders Декодеры - + Engines Внешние проигрыватели - + Title Название - + Track number Номер трека - + Two-digit track number 2-x разрядный номер трека - + Disc number Номер диска - + Condition Условие - + Genre Жанр - + Composer Композитор - + File name Имя файла - + File path Путь к файлу - + Year Год - + Comment Комментарий @@ -284,68 +357,68 @@ Настройки Qmmp - + Skins Обложки - + Fonts Шрифты - + Player: Плеер: - + Playlist: Список: - - + + ??? ??? - - - + + + ... ... - + Metadata Метаданные - + Load metadata from files Считывать метаданные из файлов - + Song Display Список песен - + Title format: Формат названия: - - + + Preferences Настройки - - - + + + Information Информация @@ -356,7 +429,7 @@ - + Playlist Список @@ -371,17 +444,17 @@ Дополнительно - + 16-bit output 16-битный вывод - + Archived skin Упакованная тема - + Unarchived skin Распакованная тема @@ -391,256 +464,282 @@ Сеть - + Visualization Визуализация - + Effects Эффекты - + General Общие - + File Dialog Файловый диалог - + Audio Аудио - + Replay Gain Выравнивание громкости (Replay Gain) - + Miscellaneous Разное - + Use bitmap font if available Использовать растровые шрифты, если возможно - + Use skin cursors Использовать встроенные курсоры - + Show song numbers Показывать номера песен - + Show playlists Показывать списки воспроизведения - + Show popup information Показывать всплывающее окно с информацией - + Customize Настроить - + Replay Gain mode: Режим Replay Gain: - + Preamp: Предусиление: - - + + dB дБ - + Default gain: Усиление по умолчанию: - + Use peak info to prevent clipping Использовать пиковое значение для предотвращения срезания - + Output: Вывод: - + Buffer size: Размер буфера: - + ms мс - + Use software volume control Использовать программную регулировку громкости - + View Вид - + + Shortcuts + + + + Hide on close Скрывать при закрытии - + Start hidden Запускать скрытым - + Cover Image Retrieve Поиск обложки альбома - + Use separate image files Использовать отдельные файлы с изображениями - + Include files: Включить файлы: - + Exclude files: Исключить файлы: - + Recursive search depth: Глубина рекурсивного поиска: - + + Playback Воспроизведение - + Continue playback on startup Продолжить воспроизведение после запуска - + Proxy Прокси - + Enable proxy usage Использовать прокси - + Proxy host name: Прокси сервер: - + Proxy port: Прокси порт: - + Use authentication with proxy Использовать авторизацию на прокси - + Proxy user name: Имя пользователя прокси: - + Proxy password: Пароль прокси: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Сброс + + + Convert underscores to blanks Преобразовывать подчёркивание в пробел - + Convert %20 to blanks Преобразовывать %20 в пробел - + Select Skin Files Выберите файлы обложек - + Skin files Файлы обложек - + Add... Добавить... - + Refresh Обновить - + Show protocol Показывать протокол - + Transparency Прозрачность - + Main window Главное окно - - - + + + 0 0 - + Equalizer Эквалайзер @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Выберите директорию - + Select one or more files to open Выберите один или несколько файлов - - &Play - &Воспроизвести - - - - X - - - - - &Pause - &Приостановить - - - - C - - - - - &Stop - &Стоп - - - - V - - - - - &Previous - &Предыдущий фрагмент - - - - Z - - - - - &Next - &Следующий фрагмент - - - - B - - - - + &Stop After Selected &Остановить после выделенного - + Ctrl+S - + &Jump To File &Перейти к файлу - + J - + Playlist Список - + &No Playlist Advance &Не продвигаться по списку - + &Clear Queue &Очистить очередь - + Ctrl+N - + Alt+Q - + &Settings &Настройки - + Ctrl+P - + &Exit &Выход - + Ctrl+Q - + Open Playlist Открыть список - + Save Playlist Сохранить список - + &About &О программе - - + + Playlist Files Файлы списков - - Space - - - - + &About Qt &О библиотеке Qt - - &Play/Pause - &Воспр/приост - - - + All Supported Bitstreams Все форматы - + &Repeat Track &Повторять трек - + &Shuffle &В случайном порядке - + R - + Ctrl+R - + S - + &Repeat Playlist &Повторять список - + Tools Сервис diff --git a/src/ui/translations/qmmp_tr.ts b/src/ui/translations/qmmp_tr.ts index 5bd59d03c..7b95a4cbb 100644 --- a/src/ui/translations/qmmp_tr.ts +++ b/src/ui/translations/qmmp_tr.ts @@ -89,6 +89,79 @@ :/txt/translators_tr.txt + + ActionManager + + + &Play + &Çal + + + + X + X + + + + &Pause + &Duraklat + + + + C + C + + + + &Stop + &Durdur + + + + V + V + + + + &Previous + &Önceki + + + + Z + Z + + + + &Next + &Sonraki + + + + B + B + + + + &Play/Pause + &Oynat/Duraklat + + + + Space + Boşluk + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Açıklama - + Filename Dosya adı - + Artist Sanatçı - - + + Album Albüm - + Track - + Disabled - + Transports - + Decoders - + Engines - + Title Başlık - + Track number - + Two-digit track number - + Disc number - + Condition - + Genre Tarz - + Composer - + File name - + File path - + Year Yıl - + Comment Yorum @@ -284,68 +357,68 @@ Qmmp Ayarları - + Skins Kabuklar - + Fonts Fontlar - + Player: Oynatıcı: - + Playlist: Çalma Listesi: - - + + ??? ??? - - - + + + ... ... - + Metadata Veri bilgisi - + Load metadata from files Veri bilgisini dosyadan yükle - + Song Display Şarkı Göstergesi - + Title format: Başlık formatı: - - + + Preferences Tercihler - - - + + + Information Bilgi @@ -356,7 +429,7 @@ - + Playlist Çalma Listesi @@ -371,17 +444,17 @@ Gelişmiş - + 16-bit output - + Archived skin Arşivlenmiş kabuk - + Unarchived skin Arşivlenmemiş kabuk @@ -391,256 +464,282 @@ Bağlanırlık - + Visualization Görsellik - + Effects Efektler - + General Genel - + File Dialog Dosya Diyaloğu - + Audio Ses - + Replay Gain - + Miscellaneous - + Use bitmap font if available - + Use skin cursors - + Show song numbers Şarkı numaralarını göster - + Show playlists - + Show popup information - + Customize - + Replay Gain mode: - + Preamp: - - + + dB - + Default gain: - + Use peak info to prevent clipping - + Output: - + Buffer size: - + ms - + Use software volume control Yazılımsal ses kontrolünü kullan - + View - + + Shortcuts + + + + Hide on close Kapatınca saklan - + Start hidden Gizli başlat - + Cover Image Retrieve - + Use separate image files - + Include files: - + Exclude files: - + Recursive search depth: - + + Playback - + Continue playback on startup - + Proxy Vekil sunucu - + Enable proxy usage Vekil sunucu kullanımını etkinleştir - + Proxy host name: Vekil sunucu adı: - + Proxy port: Vekil sunucu portu: - + Use authentication with proxy Vekil sunucu yetkilendirmesi kullan - + Proxy user name: Vekil sunucu kullanıcı adı: - + Proxy password: Vekil sunucu parolası: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + + + + Convert underscores to blanks Alt çizgileri boşluğa çevir - + Convert %20 to blanks %20 yi boşluğa çevir - + Select Skin Files Kabuk Dosyası Seç - + Skin files Kabuk dosyaları - + Add... Ekle... - + Refresh Yenile - + Show protocol Protokolü göster - + Transparency Transparanlık - + Main window Ana pencere - - - + + + 0 0 - + Equalizer Ekolayzır @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Bir dizin seçin - + Select one or more files to open Açmak için bir yada daha çok dosya seçin - - &Play - &Çal - - - - X - X - - - - &Pause - &Duraklat - - - - C - C - - - - &Stop - &Durdur - - - - V - V - - - - &Previous - &Önceki - - - - Z - Z - - - - &Next - &Sonraki - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File &Parçaya Git - + J J - + Playlist Çalma Listesi - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings &Ayarlar - + Ctrl+P Ctrl+P - + &Exit &Çıkış - + Ctrl+Q Ctrl+Q - + Open Playlist Çalma Listesini Aç - + Save Playlist Çalma Listesini Kaydet - + &About &Hakkında - - + + Playlist Files Çalma Listesi Dosyaları - - Space - Boşluk - - - + &About Qt &Qt Hakkında - - &Play/Pause - &Oynat/Duraklat - - - + All Supported Bitstreams Tüm Desteklenen Bitstreamler - + &Repeat Track &Parçayı Yinele - + &Shuffle &Rastgele - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist &Çalma Listesini Yinele - + Tools Araçlar diff --git a/src/ui/translations/qmmp_uk_UA.ts b/src/ui/translations/qmmp_uk_UA.ts index 887758c4f..df2fd367c 100644 --- a/src/ui/translations/qmmp_uk_UA.ts +++ b/src/ui/translations/qmmp_uk_UA.ts @@ -89,6 +89,79 @@ :/txt/translators_uk_UA.txt + + ActionManager + + + &Play + &Відтворити + + + + X + + + + + &Pause + &Пауза + + + + C + + + + + &Stop + &Стоп + + + + V + + + + + &Previous + &Назад + + + + Z + + + + + &Next + &Вперед + + + + B + + + + + &Play/Pause + &Грати/Пауза + + + + Space + + + + + &Jump to File + + + + + J + + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description Пояснення - + Filename Ім'я файлу - + Artist Виконавець - - + + Album Альбом - + Track Трек - + Disabled Вимкнено - + Transports Транспорти - + Decoders Декодери - + Engines Зовнішні програвачі - + Title Назва - + Track number Номер треку - + Two-digit track number 2- розрядний номер трека - + Disc number Номер диску - + Condition Умова - + Genre Жанр - + Composer Композитор - + File name Ім'я файлу - + File path Шлях файлу - + Year Рік - + Comment Коментар @@ -284,68 +357,68 @@ Налаштування Qmmp - + Skins Шкурки - + Fonts Шрифти - + Player: Програвач: - + Playlist: Список: - - + + ??? ??? - - - + + + ... ... - + Metadata Метадані - + Load metadata from files Зчитувати метадані з файлів - + Song Display Список пісень - + Title format: Формат назви: - - + + Preferences Налаштування - - - + + + Information Інформація @@ -356,7 +429,7 @@ - + Playlist Список @@ -371,17 +444,17 @@ Додатково - + 16-bit output 16-бітний вивід - + Archived skin Упакована тема - + Unarchived skin Розпакована тема @@ -391,256 +464,282 @@ Мережа - + Visualization Візуалізація - + Effects Ефекти - + General Загальне - + File Dialog Файловий діалог - + Audio Звук - + Replay Gain Нормалізація гучності - + Miscellaneous Різне - + Use bitmap font if available Використовувати растрові шрифти, якщо доступні - + Use skin cursors Використовувати курсори скіна - + Show song numbers Відображати номера пісень - + Show playlists Показати списки - + Show popup information Показувати спливаюче вікно з інформацією - + Customize Налаштувати - + Replay Gain mode: Режим нормалізації гучності: - + Preamp: Преамплітуда: - - + + dB - + Default gain: Нормалізація за умовчанням: - + Use peak info to prevent clipping Використовувати інформацію піків для запобігання відсікання - + Output: Виведення: - + Buffer size: Розмір буферу: - + ms мс - + Use software volume control Використовувати програмний контроль гучності - + View Вигляд - + + Shortcuts + + + + Hide on close Ховати при закритті - + Start hidden Запускати схованим - + Cover Image Retrieve Пошук обладинки альбома - + Use separate image files Використовувати окремі файли зображень - + Include files: Включити файли: - + Exclude files: Виключити файли: - + Recursive search depth: Глибина рекурсивного пошуку: - + + Playback Відтворення - + Continue playback on startup Продовжити відтворення при запуску - + Proxy Проксі - + Enable proxy usage Використосувати проксі - + Proxy host name: Сервер проксі: - + Proxy port: Порт проксі: - + Use authentication with proxy Використовувати авторизацію на проксі - + Proxy user name: Ім'я користвача проксі: - + Proxy password: Пароль проксі: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + Скинути + + + Convert underscores to blanks Конвертувати підкреслювання в пробіл - + Convert %20 to blanks Конвертувати %20 в пробіл - + Select Skin Files Вибрати файли скінів - + Skin files Файли скінів - + Add... Додати... - + Refresh Поновити - + Show protocol Показати протокол - + Transparency Прозорість - + Main window Головне вікно - - - + + + 0 - + Equalizer Еквалайзер @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory Виберіть теку - + Select one or more files to open Виберіть один чи кілька файлів - - &Play - &Відтворити - - - - X - - - - - &Pause - &Пауза - - - - C - - - - - &Stop - &Стоп - - - - V - - - - - &Previous - &Назад - - - - Z - - - - - &Next - &Вперед - - - - B - - - - + &Stop After Selected &Зупинити після вибраного - + Ctrl+S - + &Jump To File &Перейти до файлу - + J - + Playlist Список - + &No Playlist Advance &Не пересуватися по списку - + &Clear Queue &Очистити чергу - + Ctrl+N - + Alt+Q - + &Settings &Налаштування - + Ctrl+P - + &Exit &Вихід - + Ctrl+Q - + Open Playlist Відкрити список - + Save Playlist Зберегти список - + &About &Про програму - - + + Playlist Files Файли списків - - Space - - - - + &About Qt &Про Qt - - &Play/Pause - &Грати/Пауза - - - + All Supported Bitstreams Усі формати - + &Repeat Track &Повторити трек - + &Shuffle &Перемішати - + R - + Ctrl+R - + S - + &Repeat Playlist &Повторити список - + Tools Утиліти diff --git a/src/ui/translations/qmmp_zh_CN.ts b/src/ui/translations/qmmp_zh_CN.ts index e85b79063..7812071d2 100644 --- a/src/ui/translations/qmmp_zh_CN.ts +++ b/src/ui/translations/qmmp_zh_CN.ts @@ -89,6 +89,79 @@ :/txt/translators_zh_CN.txt + + ActionManager + + + &Play + 播放(&P) + + + + X + X + + + + &Pause + 暂停(&P) + + + + C + C + + + + &Stop + 停止(&S) + + + + V + V + + + + &Previous + 上一曲(&P) + + + + Z + Z + + + + &Next + 下一曲(&N) + + + + B + B + + + + &Play/Pause + 播放/暂停(&P) + + + + Space + 空格 + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description 描述 - + Filename 文件名 - + Artist 艺术家 - - + + Album 专辑 - + Track - + Disabled - + Transports - + Decoders - + Engines - + Title 标题 - + Track number - + Two-digit track number - + Disc number - + Condition - + Genre 流派 - + Composer - + File name - + File path - + Year 年代 - + Comment 备注 @@ -284,68 +357,68 @@ Qmmp 设置 - + Skins 皮肤 - + Fonts 字体 - + Player: 播放器: - + Playlist: 播放列表: - - + + ??? ??? - - - + + + ... ... - + Metadata 元数据 - + Load metadata from files 从文件载入元数据 - + Song Display 显示歌曲 - + Title format: 标题格式: - - + + Preferences 参数设置 - - - + + + Information 信息 @@ -356,7 +429,7 @@ - + Playlist 播放列表 @@ -371,17 +444,17 @@ 高级 - + 16-bit output - + Archived skin 压缩皮肤 - + Unarchived skin 未压缩皮肤 @@ -391,256 +464,282 @@ 连接 - + Visualization 可视化 - + Effects 特效 - + General 常规 - + File Dialog 文件对话 - + Audio 音频 - + Replay Gain - + Miscellaneous - + Use bitmap font if available - + Use skin cursors - + Show song numbers 显示曲目编号 - + Show playlists - + Show popup information - + Customize - + Replay Gain mode: - + Preamp: - - + + dB - + Default gain: - + Use peak info to prevent clipping - + Output: - + Buffer size: - + ms - + Use software volume control 使用软设备音量控制 - + View - + + Shortcuts + + + + Hide on close 关闭时隐藏 - + Start hidden 启动时隐藏 - + Cover Image Retrieve - + Use separate image files - + Include files: - + Exclude files: - + Recursive search depth: - + + Playback - + Continue playback on startup - + Proxy 代理 - + Enable proxy usage 启用代理 - + Proxy host name: 主机名: - + Proxy port: 端口: - + Use authentication with proxy 需要身份验证 - + Proxy user name: 用户名: - + Proxy password: 密码: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + + + + Convert underscores to blanks 转换下划线为空格 - + Convert %20 to blanks 转换 %20 为空格 - + Select Skin Files 选择皮肤文件 - + Skin files 皮肤文件 - + Add... 添加... - + Refresh 刷新 - + Show protocol 显示协议 - + Transparency 透明度 - + Main window 主窗口 - - - + + + 0 0 - + Equalizer 均衡器 @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory 选择一个目录 - + Select one or more files to open 选择打开一个或更多文件 - - &Play - 播放(&P) - - - - X - X - - - - &Pause - 暂停(&P) - - - - C - C - - - - &Stop - 停止(&S) - - - - V - V - - - - &Previous - 上一曲(&P) - - - - Z - Z - - - - &Next - 下一曲(&N) - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File 跳到文件(&J) - + J J - + Playlist 播放列表 - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings 设置(&S) - + Ctrl+P Ctrl+P - + &Exit 退出(&E) - + Ctrl+Q Ctrl+Q - + Open Playlist 打开播放列表 - + Save Playlist 保存播放列表 - + &About 关于(&A) - - + + Playlist Files 播放列表文件 - - Space - 空格 - - - + &About Qt 关于 Qt (&A) - - &Play/Pause - 播放/暂停(&P) - - - + All Supported Bitstreams 支持的全部文件 - + &Repeat Track 重复音轨(&R) - + &Shuffle 乱序(&S) - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist 重复播放列表(&R) - + Tools 工具 diff --git a/src/ui/translations/qmmp_zh_TW.ts b/src/ui/translations/qmmp_zh_TW.ts index dad189004..b9f5934eb 100644 --- a/src/ui/translations/qmmp_zh_TW.ts +++ b/src/ui/translations/qmmp_zh_TW.ts @@ -89,6 +89,79 @@ :/txt/translators_zh_TW.txt + + ActionManager + + + &Play + 播放(&P) + + + + X + X + + + + &Pause + 暫停(&P) + + + + C + C + + + + &Stop + 停止(&S) + + + + V + V + + + + &Previous + 上一曲(&P) + + + + Z + Z + + + + &Next + 下一曲(&N) + + + + B + B + + + + &Play/Pause + 播放/暫停(&P) + + + + Space + 空格 + + + + &Jump to File + + + + + J + J + + AddUrlDialog @@ -178,103 +251,103 @@ ConfigDialog - + Description 說明 - + Filename 檔名 - + Artist 藝術家 - - + + Album 專輯 - + Track - + Disabled - + Transports - + Decoders - + Engines - + Title 標題 - + Track number - + Two-digit track number - + Disc number - + Condition - + Genre 流派 - + Composer - + File name - + File path - + Year 年代 - + Comment 備註 @@ -284,68 +357,68 @@ Qmmp 設定 - + Skins 皮膚 - + Fonts 字型 - + Player: 播放器: - + Playlist: 播放清單: - - + + ??? ??? - - - + + + ... ... - + Metadata 元資料 - + Load metadata from files 從檔案載入元資料 - + Song Display 察看歌曲 - + Title format: 標題格式: - - + + Preferences 引數設定 - - - + + + Information 資訊 @@ -356,7 +429,7 @@ - + Playlist 播放清單 @@ -371,17 +444,17 @@ 進階 - + 16-bit output - + Archived skin 封包皮膚 - + Unarchived skin 未封包皮膚 @@ -391,256 +464,282 @@ 連線 - + Visualization 可視化 - + Effects 特效 - + General 常規 - + File Dialog 檔案對話 - + Audio 聲訊 - + Replay Gain - + Miscellaneous - + Use bitmap font if available - + Use skin cursors - + Show song numbers 顯示曲目編號 - + Show playlists - + Show popup information - + Customize - + Replay Gain mode: - + Preamp: - - + + dB - + Default gain: - + Use peak info to prevent clipping - + Output: - + Buffer size: - + ms - + Use software volume control 使用軟裝置音量控制 - + View - + + Shortcuts + + + + Hide on close 關閉時隱藏 - + Start hidden 啟動時隱藏 - + Cover Image Retrieve - + Use separate image files - + Include files: - + Exclude files: - + Recursive search depth: - + + Playback - + Continue playback on startup - + Proxy 代理 - + Enable proxy usage 啟用代理 - + Proxy host name: 主機名: - + Proxy port: 通訊埠: - + Use authentication with proxy 需要身份驗證 - + Proxy user name: 用戶名: - + Proxy password: 密碼: - + + Action + + + + + Shortcut + + + + + Change + + + + + Reset + + + + Convert underscores to blanks 轉換底線為空格 - + Convert %20 to blanks 轉換 %20 為空格 - + Select Skin Files 選取皮膚檔案 - + Skin files 皮膚檔案 - + Add... 添加... - + Refresh 刷新 - + Show protocol 顯示協議 - + Transparency 透明度 - + Main window 主窗口 - - - + + + 0 0 - + Equalizer 均衡器 @@ -949,203 +1048,143 @@ MainWindow - + Choose a directory 選取一個目錄 - + Select one or more files to open 選取開啟一個或更多檔案 - - &Play - 播放(&P) - - - - X - X - - - - &Pause - 暫停(&P) - - - - C - C - - - - &Stop - 停止(&S) - - - - V - V - - - - &Previous - 上一曲(&P) - - - - Z - Z - - - - &Next - 下一曲(&N) - - - - B - B - - - + &Stop After Selected - + Ctrl+S - + &Jump To File 跳到檔案(&J) - + J J - + Playlist 播放清單 - + &No Playlist Advance - + &Clear Queue - + Ctrl+N - + Alt+Q - + &Settings 設定(&S) - + Ctrl+P Ctrl+P - + &Exit 結束(&E) - + Ctrl+Q Ctrl+Q - + Open Playlist 開啟播放清單 - + Save Playlist 儲存播放清單 - + &About 關於(&A) - - + + Playlist Files 播放清單檔案 - - Space - 空格 - - - + &About Qt 關於 Qt (&A) - - &Play/Pause - 播放/暫停(&P) - - - + All Supported Bitstreams 支援的全部檔案 - + &Repeat Track 重復音軌(&R) - + &Shuffle 亂序(&S) - + R R - + Ctrl+R Ctrl+R - + S S - + &Repeat Playlist 重復播放清單(&R) - + Tools 工具 diff --git a/src/ui/ui.pro b/src/ui/ui.pro index 3cabae11e..6fb6f0c8b 100644 --- a/src/ui/ui.pro +++ b/src/ui/ui.pro @@ -57,7 +57,9 @@ HEADERS += mainwindow.h \ popupsettings.h \ windowsystem.h \ viewmenu.h \ - lxdesupport.h + lxdesupport.h \ + actionmanager.h \ + shortcutitem.h SOURCES += mainwindow.cpp \ mp3player.cpp \ button.cpp \ @@ -109,7 +111,9 @@ SOURCES += mainwindow.cpp \ popupsettings.cpp \ windowsystem.cpp \ viewmenu.cpp \ - lxdesupport.cpp + lxdesupport.cpp \ + actionmanager.cpp \ + shortcutitem.cpp win32:HEADERS += ../qmmp/visual.h unix { HEADERS += -- cgit v1.2.3-13-gbd6f